diff --git a/data/beaconrestapi/src/integration-test/resources/tech/pegasys/teku/beaconrestapi/beacon/schema/ExecutionPayloadDeneb.json b/data/beaconrestapi/src/integration-test/resources/tech/pegasys/teku/beaconrestapi/beacon/schema/ExecutionPayloadDeneb.json index 36856ea8ea6..555bc4cb0f4 100644 --- a/data/beaconrestapi/src/integration-test/resources/tech/pegasys/teku/beaconrestapi/beacon/schema/ExecutionPayloadDeneb.json +++ b/data/beaconrestapi/src/integration-test/resources/tech/pegasys/teku/beaconrestapi/beacon/schema/ExecutionPayloadDeneb.json @@ -1,7 +1,7 @@ { "title" : "ExecutionPayloadDeneb", "type" : "object", - "required" : [ "parent_hash", "fee_recipient", "state_root", "receipts_root", "logs_bloom", "prev_randao", "block_number", "gas_limit", "gas_used", "timestamp", "extra_data", "base_fee_per_gas", "block_hash", "transactions", "withdrawals", "excess_data_gas", "data_gas_used" ], + "required" : [ "parent_hash", "fee_recipient", "state_root", "receipts_root", "logs_bloom", "prev_randao", "block_number", "gas_limit", "gas_used", "timestamp", "extra_data", "base_fee_per_gas", "block_hash", "transactions", "withdrawals", "data_gas_used", "excess_data_gas" ], "properties" : { "parent_hash" : { "type" : "string", @@ -96,17 +96,17 @@ "$ref" : "#/components/schemas/Withdrawal" } }, - "excess_data_gas" : { + "data_gas_used" : { "type" : "string", "description" : "unsigned 64 bit integer", "example" : "1", "format" : "uint64" }, - "data_gas_used" : { + "excess_data_gas" : { "type" : "string", - "description" : "unsigned 256 bit integer", + "description" : "unsigned 64 bit integer", "example" : "1", - "format" : "uint256" + "format" : "uint64" } } } \ No newline at end of file diff --git a/data/beaconrestapi/src/integration-test/resources/tech/pegasys/teku/beaconrestapi/beacon/schema/ExecutionPayloadHeaderDeneb.json b/data/beaconrestapi/src/integration-test/resources/tech/pegasys/teku/beaconrestapi/beacon/schema/ExecutionPayloadHeaderDeneb.json index 7d417add68a..99c0c826ba6 100644 --- a/data/beaconrestapi/src/integration-test/resources/tech/pegasys/teku/beaconrestapi/beacon/schema/ExecutionPayloadHeaderDeneb.json +++ b/data/beaconrestapi/src/integration-test/resources/tech/pegasys/teku/beaconrestapi/beacon/schema/ExecutionPayloadHeaderDeneb.json @@ -1,7 +1,7 @@ { "title" : "ExecutionPayloadHeaderDeneb", "type" : "object", - "required" : [ "parent_hash", "fee_recipient", "state_root", "receipts_root", "logs_bloom", "prev_randao", "block_number", "gas_limit", "gas_used", "timestamp", "extra_data", "base_fee_per_gas", "block_hash", "transactions_root", "withdrawals_root", "excess_data_gas", "data_gas_used" ], + "required" : [ "parent_hash", "fee_recipient", "state_root", "receipts_root", "logs_bloom", "prev_randao", "block_number", "gas_limit", "gas_used", "timestamp", "extra_data", "base_fee_per_gas", "block_hash", "transactions_root", "withdrawals_root", "data_gas_used", "excess_data_gas" ], "properties" : { "parent_hash" : { "type" : "string", @@ -93,17 +93,17 @@ "example" : "0xcf8e0d4e9587369b2301d0790347320302cc0943d5a1884560367e8208d920f2", "format" : "byte" }, - "excess_data_gas" : { + "data_gas_used" : { "type" : "string", "description" : "unsigned 64 bit integer", "example" : "1", "format" : "uint64" }, - "data_gas_used" : { + "excess_data_gas" : { "type" : "string", - "description" : "unsigned 256 bit integer", + "description" : "unsigned 64 bit integer", "example" : "1", - "format" : "uint256" + "format" : "uint64" } } } \ No newline at end of file diff --git a/data/serializer/src/main/java/tech/pegasys/teku/api/schema/deneb/ExecutionPayloadDeneb.java b/data/serializer/src/main/java/tech/pegasys/teku/api/schema/deneb/ExecutionPayloadDeneb.java index c32af2d5d33..61c2ed20d9d 100644 --- a/data/serializer/src/main/java/tech/pegasys/teku/api/schema/deneb/ExecutionPayloadDeneb.java +++ b/data/serializer/src/main/java/tech/pegasys/teku/api/schema/deneb/ExecutionPayloadDeneb.java @@ -32,12 +32,12 @@ public class ExecutionPayloadDeneb extends ExecutionPayloadCapella implements ExecutionPayload { + @JsonProperty("data_gas_used") + public final UInt64 dataGasUsed; + @JsonProperty("excess_data_gas") public final UInt64 excessDataGas; - @JsonProperty("data_gas_used") - public final UInt256 dataGasUsed; - @JsonCreator public ExecutionPayloadDeneb( @JsonProperty("parent_hash") final Bytes32 parentHash, @@ -55,8 +55,8 @@ public ExecutionPayloadDeneb( @JsonProperty("block_hash") final Bytes32 blockHash, @JsonProperty("transactions") final List transactions, @JsonProperty("withdrawals") final List withdrawals, - @JsonProperty("excess_data_gas") final UInt64 excessDataGas, - @JsonProperty("data_gas_used") final UInt256 dataGasUsed) { + @JsonProperty("data_gas_used") final UInt64 dataGasUsed, + @JsonProperty("excess_data_gas") final UInt64 excessDataGas) { super( parentHash, feeRecipient, @@ -73,15 +73,15 @@ public ExecutionPayloadDeneb( blockHash, transactions, withdrawals); - this.excessDataGas = excessDataGas; this.dataGasUsed = dataGasUsed; + this.excessDataGas = excessDataGas; } public ExecutionPayloadDeneb( final tech.pegasys.teku.spec.datastructures.execution.ExecutionPayload executionPayload) { super(executionPayload); - this.excessDataGas = executionPayload.toVersionDeneb().orElseThrow().getExcessDataGas(); this.dataGasUsed = executionPayload.toVersionDeneb().orElseThrow().getDataGasUsed(); + this.excessDataGas = executionPayload.toVersionDeneb().orElseThrow().getExcessDataGas(); } @Override @@ -89,8 +89,8 @@ protected ExecutionPayloadBuilder applyToBuilder( final ExecutionPayloadSchema executionPayloadSchema, final ExecutionPayloadBuilder builder) { return super.applyToBuilder(executionPayloadSchema, builder) - .excessDataGas(() -> excessDataGas) - .dataGasUsed(() -> dataGasUsed); + .dataGasUsed(() -> dataGasUsed) + .excessDataGas(() -> excessDataGas); } @Override @@ -110,13 +110,13 @@ public boolean equals(final Object o) { return false; } final ExecutionPayloadDeneb that = (ExecutionPayloadDeneb) o; - return Objects.equals(excessDataGas, that.excessDataGas) - && Objects.equals(dataGasUsed, that.dataGasUsed); + return Objects.equals(dataGasUsed, that.dataGasUsed) + && Objects.equals(excessDataGas, that.excessDataGas); } @Override public int hashCode() { - return Objects.hash(super.hashCode(), excessDataGas, dataGasUsed); + return Objects.hash(super.hashCode(), dataGasUsed, excessDataGas); } @Override @@ -137,8 +137,8 @@ public String toString() { .add("blockHash", blockHash) .add("transactions", transactions) .add("withdrawals", withdrawals) - .add("excessDataGas", excessDataGas) .add("dataGasUsed", dataGasUsed) + .add("excessDataGas", excessDataGas) .toString(); } } diff --git a/data/serializer/src/main/java/tech/pegasys/teku/api/schema/deneb/ExecutionPayloadHeaderDeneb.java b/data/serializer/src/main/java/tech/pegasys/teku/api/schema/deneb/ExecutionPayloadHeaderDeneb.java index 6a76d70389d..57aae69cc09 100644 --- a/data/serializer/src/main/java/tech/pegasys/teku/api/schema/deneb/ExecutionPayloadHeaderDeneb.java +++ b/data/serializer/src/main/java/tech/pegasys/teku/api/schema/deneb/ExecutionPayloadHeaderDeneb.java @@ -29,12 +29,12 @@ public class ExecutionPayloadHeaderDeneb extends ExecutionPayloadHeaderCapella { + @JsonProperty("data_gas_used") + public final UInt64 dataGasUsed; + @JsonProperty("excess_data_gas") public final UInt64 excessDataGas; - @JsonProperty("data_gas_used") - public final UInt256 dataGasUsed; - @JsonCreator public ExecutionPayloadHeaderDeneb( @JsonProperty("parent_hash") final Bytes32 parentHash, @@ -52,8 +52,8 @@ public ExecutionPayloadHeaderDeneb( @JsonProperty("block_hash") final Bytes32 blockHash, @JsonProperty("transactions_root") final Bytes32 transactionsRoot, @JsonProperty("withdrawals_root") final Bytes32 withdrawalsRoot, - @JsonProperty("excess_data_gas") final UInt64 excessDataGas, - @JsonProperty("data_gas_used") final UInt256 dataGasUsed) { + @JsonProperty("data_gas_used") final UInt64 dataGasUsed, + @JsonProperty("excess_data_gas") final UInt64 excessDataGas) { super( parentHash, feeRecipient, @@ -70,8 +70,8 @@ public ExecutionPayloadHeaderDeneb( blockHash, transactionsRoot, withdrawalsRoot); - this.excessDataGas = excessDataGas; this.dataGasUsed = dataGasUsed; + this.excessDataGas = excessDataGas; } public ExecutionPayloadHeaderDeneb(final ExecutionPayloadHeader executionPayloadHeader) { @@ -91,8 +91,8 @@ public ExecutionPayloadHeaderDeneb(final ExecutionPayloadHeader executionPayload executionPayloadHeader.getBlockHash(), executionPayloadHeader.getTransactionsRoot(), executionPayloadHeader.getOptionalWithdrawalsRoot().orElseThrow()); - this.excessDataGas = executionPayloadHeader.toVersionDeneb().orElseThrow().getExcessDataGas(); this.dataGasUsed = executionPayloadHeader.toVersionDeneb().orElseThrow().getDataGasUsed(); + this.excessDataGas = executionPayloadHeader.toVersionDeneb().orElseThrow().getExcessDataGas(); } @Override @@ -116,8 +116,8 @@ public ExecutionPayloadHeader asInternalExecutionPayloadHeader( .blockHash(blockHash) .transactionsRoot(transactionsRoot) .withdrawalsRoot(() -> withdrawalsRoot) - .excessDataGas(() -> excessDataGas) - .dataGasUsed(() -> dataGasUsed)); + .dataGasUsed(() -> dataGasUsed) + .excessDataGas(() -> excessDataGas)); } @Override @@ -137,13 +137,13 @@ public boolean equals(final Object o) { return false; } final ExecutionPayloadHeaderDeneb that = (ExecutionPayloadHeaderDeneb) o; - return Objects.equals(excessDataGas, that.excessDataGas) - && Objects.equals(dataGasUsed, that.dataGasUsed); + return Objects.equals(dataGasUsed, that.dataGasUsed) + && Objects.equals(excessDataGas, that.excessDataGas); } @Override public int hashCode() { - return Objects.hash(super.hashCode(), excessDataGas, dataGasUsed); + return Objects.hash(super.hashCode(), dataGasUsed, excessDataGas); } @Override @@ -164,8 +164,8 @@ public String toString() { .add("blockHash", blockHash) .add("transactionsRoot", transactionsRoot) .add("withdrawalsRoot", withdrawalsRoot) + .add("dataGasUsed", dataGasUsed) .add("excessDataGas", excessDataGas) - .add("data_gas_used", dataGasUsed) .toString(); } } diff --git a/ethereum/executionclient/src/main/java/tech/pegasys/teku/ethereum/executionclient/schema/ExecutionPayloadV3.java b/ethereum/executionclient/src/main/java/tech/pegasys/teku/ethereum/executionclient/schema/ExecutionPayloadV3.java index fd1f1efe872..01c1befcfa9 100644 --- a/ethereum/executionclient/src/main/java/tech/pegasys/teku/ethereum/executionclient/schema/ExecutionPayloadV3.java +++ b/ethereum/executionclient/src/main/java/tech/pegasys/teku/ethereum/executionclient/schema/ExecutionPayloadV3.java @@ -23,8 +23,6 @@ import org.apache.tuweni.bytes.Bytes; import org.apache.tuweni.bytes.Bytes32; import org.apache.tuweni.units.bigints.UInt256; -import tech.pegasys.teku.ethereum.executionclient.serialization.UInt256AsHexDeserializer; -import tech.pegasys.teku.ethereum.executionclient.serialization.UInt256AsHexSerializer; import tech.pegasys.teku.ethereum.executionclient.serialization.UInt64AsHexDeserializer; import tech.pegasys.teku.ethereum.executionclient.serialization.UInt64AsHexSerializer; import tech.pegasys.teku.infrastructure.bytes.Bytes20; @@ -38,11 +36,11 @@ public class ExecutionPayloadV3 extends ExecutionPayloadV2 { @JsonSerialize(using = UInt64AsHexSerializer.class) @JsonDeserialize(using = UInt64AsHexDeserializer.class) - public final UInt64 excessDataGas; + public final UInt64 dataGasUsed; - @JsonSerialize(using = UInt256AsHexSerializer.class) - @JsonDeserialize(using = UInt256AsHexDeserializer.class) - public final UInt256 dataGasUsed; + @JsonSerialize(using = UInt64AsHexSerializer.class) + @JsonDeserialize(using = UInt64AsHexDeserializer.class) + public final UInt64 excessDataGas; public ExecutionPayloadV3( @JsonProperty("parentHash") Bytes32 parentHash, @@ -60,8 +58,8 @@ public ExecutionPayloadV3( @JsonProperty("blockHash") Bytes32 blockHash, @JsonProperty("transactions") List transactions, @JsonProperty("withdrawals") List withdrawals, - @JsonProperty("excessDataGas") UInt64 excessDataGas, - @JsonProperty("dataGasUsed") UInt256 dataGasUsed) { + @JsonProperty("dataGasUsed") UInt64 dataGasUsed, + @JsonProperty("excessDataGas") UInt64 excessDataGas) { super( parentHash, feeRecipient, @@ -78,8 +76,8 @@ public ExecutionPayloadV3( blockHash, transactions, withdrawals); - this.excessDataGas = excessDataGas; this.dataGasUsed = dataGasUsed; + this.excessDataGas = excessDataGas; } public static ExecutionPayloadV3 fromInternalExecutionPayload( @@ -104,8 +102,11 @@ public static ExecutionPayloadV3 fromInternalExecutionPayload( .map(SszByteListImpl::getBytes) .collect(Collectors.toList()), withdrawalsList, - executionPayload.toVersionDeneb().map(ExecutionPayloadDeneb::getExcessDataGas).orElse(null), - executionPayload.toVersionDeneb().map(ExecutionPayloadDeneb::getDataGasUsed).orElse(null)); + executionPayload.toVersionDeneb().map(ExecutionPayloadDeneb::getDataGasUsed).orElse(null), + executionPayload + .toVersionDeneb() + .map(ExecutionPayloadDeneb::getExcessDataGas) + .orElse(null)); } @Override @@ -113,8 +114,8 @@ protected ExecutionPayloadBuilder applyToBuilder( final ExecutionPayloadSchema executionPayloadSchema, final ExecutionPayloadBuilder builder) { return super.applyToBuilder(executionPayloadSchema, builder) + .dataGasUsed(() -> checkNotNull(dataGasUsed, "dataGasUsed not provided when required")) .excessDataGas( - () -> checkNotNull(excessDataGas, "excessDataGas not provided when required")) - .dataGasUsed(() -> checkNotNull(dataGasUsed, "dataGasUsed not provided when required")); + () -> checkNotNull(excessDataGas, "excessDataGas not provided when required")); } } diff --git a/ethereum/executionlayer/src/test/java/tech/pegasys/teku/ethereum/executionlayer/BuilderBidValidatorTest.java b/ethereum/executionlayer/src/test/java/tech/pegasys/teku/ethereum/executionlayer/BuilderBidValidatorTest.java index 54489b354f6..e1107475398 100644 --- a/ethereum/executionlayer/src/test/java/tech/pegasys/teku/ethereum/executionlayer/BuilderBidValidatorTest.java +++ b/ethereum/executionlayer/src/test/java/tech/pegasys/teku/ethereum/executionlayer/BuilderBidValidatorTest.java @@ -298,7 +298,7 @@ private ExecutionPayloadHeader createExecutionPayloadHeaderWithGasLimit( .blockHash(Bytes32.random()) .transactionsRoot(Bytes32.ZERO) .withdrawalsRoot(() -> Bytes32.ZERO) - .excessDataGas(() -> UInt64.ONE) - .dataGasUsed(() -> UInt256.ONE)); + .dataGasUsed(() -> UInt64.ONE) + .excessDataGas(() -> UInt64.ONE)); } } diff --git a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/ExecutionPayloadBuilder.java b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/ExecutionPayloadBuilder.java index 82cab41e748..f6b7fb8d2b1 100644 --- a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/ExecutionPayloadBuilder.java +++ b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/ExecutionPayloadBuilder.java @@ -53,9 +53,9 @@ public interface ExecutionPayloadBuilder { ExecutionPayloadBuilder withdrawals(Supplier> withdrawalsSupplier); - ExecutionPayloadBuilder excessDataGas(Supplier excessDataGasSupplier); + ExecutionPayloadBuilder dataGasUsed(Supplier dataGasUsedSupplier); - ExecutionPayloadBuilder dataGasUsed(Supplier dataGasUsedSupplier); + ExecutionPayloadBuilder excessDataGas(Supplier excessDataGasSupplier); ExecutionPayload build(); } diff --git a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/ExecutionPayloadFields.java b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/ExecutionPayloadFields.java index 6cc77287ccc..da47aa2e627 100644 --- a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/ExecutionPayloadFields.java +++ b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/ExecutionPayloadFields.java @@ -34,8 +34,8 @@ public enum ExecutionPayloadFields implements SszFieldName { WITHDRAWALS, TRANSACTIONS_ROOT, WITHDRAWALS_ROOT, - EXCESS_DATA_GAS, - DATA_GAS_USED; + DATA_GAS_USED, + EXCESS_DATA_GAS; private final String sszFieldName; diff --git a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/ExecutionPayloadHeaderBuilder.java b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/ExecutionPayloadHeaderBuilder.java index 5f0f6de9774..9beaa0b242b 100644 --- a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/ExecutionPayloadHeaderBuilder.java +++ b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/ExecutionPayloadHeaderBuilder.java @@ -51,9 +51,9 @@ public interface ExecutionPayloadHeaderBuilder { ExecutionPayloadHeaderBuilder withdrawalsRoot(Supplier withdrawalsRootSupplier); - ExecutionPayloadHeaderBuilder excessDataGas(Supplier excessDataGasSupplier); + ExecutionPayloadHeaderBuilder dataGasUsed(Supplier dataGasUsedSupplier); - ExecutionPayloadHeaderBuilder dataGasUsed(Supplier dataGasUsedSupplier); + ExecutionPayloadHeaderBuilder excessDataGas(Supplier excessDataGasSupplier); ExecutionPayloadHeader build(); } diff --git a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/bellatrix/ExecutionPayloadBuilderBellatrix.java b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/bellatrix/ExecutionPayloadBuilderBellatrix.java index 132d3019713..d8ee86a3050 100644 --- a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/bellatrix/ExecutionPayloadBuilderBellatrix.java +++ b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/bellatrix/ExecutionPayloadBuilderBellatrix.java @@ -143,12 +143,12 @@ public ExecutionPayloadBuilder withdrawals(final Supplier> with } @Override - public ExecutionPayloadBuilder excessDataGas(final Supplier excessDataGasSupplier) { + public ExecutionPayloadBuilder dataGasUsed(final Supplier dataGasUsedSupplier) { return this; } @Override - public ExecutionPayloadBuilder dataGasUsed(final Supplier dataGasUsedSupplier) { + public ExecutionPayloadBuilder excessDataGas(final Supplier excessDataGasSupplier) { return this; } diff --git a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/bellatrix/ExecutionPayloadHeaderBuilderBellatrix.java b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/bellatrix/ExecutionPayloadHeaderBuilderBellatrix.java index 8ee0ce7cb7d..b398351dd64 100644 --- a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/bellatrix/ExecutionPayloadHeaderBuilderBellatrix.java +++ b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/bellatrix/ExecutionPayloadHeaderBuilderBellatrix.java @@ -143,12 +143,12 @@ public ExecutionPayloadHeaderBuilder withdrawalsRoot( } @Override - public ExecutionPayloadHeaderBuilder excessDataGas(final Supplier excessDataGasSupplier) { + public ExecutionPayloadHeaderBuilder dataGasUsed(final Supplier dataGasUsedSupplier) { return this; } @Override - public ExecutionPayloadHeaderBuilder dataGasUsed(final Supplier dataGasUsedSupplier) { + public ExecutionPayloadHeaderBuilder excessDataGas(final Supplier excessDataGasSupplier) { return this; } diff --git a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadBuilderDeneb.java b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadBuilderDeneb.java index dc5b1050162..fdfa1f3dbbc 100644 --- a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadBuilderDeneb.java +++ b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadBuilderDeneb.java @@ -16,7 +16,6 @@ import static com.google.common.base.Preconditions.checkNotNull; import java.util.function.Supplier; -import org.apache.tuweni.units.bigints.UInt256; import tech.pegasys.teku.infrastructure.ssz.collections.SszByteVector; import tech.pegasys.teku.infrastructure.ssz.primitive.SszBytes32; import tech.pegasys.teku.infrastructure.ssz.primitive.SszUInt256; @@ -29,8 +28,8 @@ public class ExecutionPayloadBuilderDeneb extends ExecutionPayloadBuilderCapella { private ExecutionPayloadSchemaDeneb schema; + protected UInt64 dataGasUsed; protected UInt64 excessDataGas; - protected UInt256 dataGasUsed; public ExecutionPayloadBuilderDeneb schema(final ExecutionPayloadSchemaDeneb schema) { this.schema = schema; @@ -38,14 +37,14 @@ public ExecutionPayloadBuilderDeneb schema(final ExecutionPayloadSchemaDeneb sch } @Override - public ExecutionPayloadBuilderDeneb excessDataGas(final Supplier excessDataGasSupplier) { - this.excessDataGas = excessDataGasSupplier.get(); + public ExecutionPayloadBuilder dataGasUsed(final Supplier dataGasUsedSupplier) { + this.dataGasUsed = dataGasUsedSupplier.get(); return this; } @Override - public ExecutionPayloadBuilder dataGasUsed(final Supplier dataGasUsedSupplier) { - this.dataGasUsed = dataGasUsedSupplier.get(); + public ExecutionPayloadBuilderDeneb excessDataGas(final Supplier excessDataGasSupplier) { + this.excessDataGas = excessDataGasSupplier.get(); return this; } @@ -57,8 +56,8 @@ protected void validateSchema() { @Override protected void validate() { super.validate(); - checkNotNull(excessDataGas, "excessDataGas must be specified"); checkNotNull(dataGasUsed, "dataGasUsed must be specified"); + checkNotNull(excessDataGas, "excessDataGas must be specified"); } @Override @@ -83,7 +82,7 @@ public ExecutionPayload build() { .map(schema.getTransactionSchema()::fromBytes) .collect(schema.getTransactionsSchema().collector()), schema.getWithdrawalsSchema().createFromElements(withdrawals), - SszUInt64.of(excessDataGas), - SszUInt256.of(dataGasUsed)); + SszUInt64.of(dataGasUsed), + SszUInt64.of(excessDataGas)); } } diff --git a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadDeneb.java b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadDeneb.java index 47b20fc20fe..fa49da42890 100644 --- a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadDeneb.java +++ b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadDeneb.java @@ -14,7 +14,6 @@ package tech.pegasys.teku.spec.datastructures.execution.versions.deneb; import java.util.Optional; -import org.apache.tuweni.units.bigints.UInt256; import tech.pegasys.teku.infrastructure.unsigned.UInt64; import tech.pegasys.teku.spec.datastructures.execution.ExecutionPayload; import tech.pegasys.teku.spec.datastructures.execution.versions.capella.ExecutionPayloadCapella; @@ -31,9 +30,9 @@ static ExecutionPayloadDeneb required(final ExecutionPayload payload) { + payload.getClass().getSimpleName())); } - UInt64 getExcessDataGas(); + UInt64 getDataGasUsed(); - UInt256 getDataGasUsed(); + UInt64 getExcessDataGas(); @Override default Optional toVersionDeneb() { diff --git a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadDenebImpl.java b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadDenebImpl.java index 95f065691a3..1347254fb52 100644 --- a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadDenebImpl.java +++ b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadDenebImpl.java @@ -51,7 +51,7 @@ public class ExecutionPayloadDenebImpl SszList, SszList, SszUInt64, - SszUInt256> + SszUInt64> implements ExecutionPayloadDeneb { public ExecutionPayloadDenebImpl( @@ -73,7 +73,7 @@ public ExecutionPayloadDenebImpl( SszList, SszList, SszUInt64, - SszUInt256> + SszUInt64> schema, TreeNode backingNode) { super(schema, backingNode); @@ -96,8 +96,8 @@ public ExecutionPayloadDenebImpl( SszBytes32 blockHash, SszList transactions, SszList withdrawals, - SszUInt64 excessDataGas, - SszUInt256 dataGasUsed) { + SszUInt64 dataGasUsed, + SszUInt64 excessDataGas) { super( schema, parentHash, @@ -115,8 +115,8 @@ public ExecutionPayloadDenebImpl( blockHash, transactions, withdrawals, - excessDataGas, - dataGasUsed); + dataGasUsed, + excessDataGas); } @Override @@ -215,12 +215,12 @@ public SszList getWithdrawals() { } @Override - public UInt64 getExcessDataGas() { + public UInt64 getDataGasUsed() { return getField15().get(); } @Override - public UInt256 getDataGasUsed() { + public UInt64 getExcessDataGas() { return getField16().get(); } diff --git a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadHeaderBuilderDeneb.java b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadHeaderBuilderDeneb.java index 5779388ca12..1aef8452e6c 100644 --- a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadHeaderBuilderDeneb.java +++ b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadHeaderBuilderDeneb.java @@ -16,7 +16,6 @@ import static com.google.common.base.Preconditions.checkNotNull; import java.util.function.Supplier; -import org.apache.tuweni.units.bigints.UInt256; import tech.pegasys.teku.infrastructure.ssz.collections.SszByteVector; import tech.pegasys.teku.infrastructure.ssz.primitive.SszBytes32; import tech.pegasys.teku.infrastructure.ssz.primitive.SszUInt256; @@ -29,8 +28,8 @@ public class ExecutionPayloadHeaderBuilderDeneb extends ExecutionPayloadHeaderBuilderCapella { private ExecutionPayloadHeaderSchemaDeneb schema; + protected UInt64 dataGasUsed; protected UInt64 excessDataGas; - protected UInt256 dataGasUsed; public ExecutionPayloadHeaderBuilderDeneb schema(final ExecutionPayloadHeaderSchemaDeneb schema) { this.schema = schema; @@ -38,15 +37,15 @@ public ExecutionPayloadHeaderBuilderDeneb schema(final ExecutionPayloadHeaderSch } @Override - public ExecutionPayloadHeaderBuilderDeneb excessDataGas( - final Supplier excessDataGasSupplier) { - this.excessDataGas = excessDataGasSupplier.get(); + public ExecutionPayloadHeaderBuilder dataGasUsed(final Supplier dataGasUsedSupplier) { + this.dataGasUsed = dataGasUsedSupplier.get(); return this; } @Override - public ExecutionPayloadHeaderBuilder dataGasUsed(final Supplier dataGasUsedSupplier) { - this.dataGasUsed = dataGasUsedSupplier.get(); + public ExecutionPayloadHeaderBuilderDeneb excessDataGas( + final Supplier excessDataGasSupplier) { + this.excessDataGas = excessDataGasSupplier.get(); return this; } @@ -58,8 +57,8 @@ protected void validateSchema() { @Override protected void validate() { super.validate(); - checkNotNull(excessDataGas, "excessDataGas must be specified"); checkNotNull(dataGasUsed, "dataGasUsed must be specified"); + checkNotNull(excessDataGas, "excessDataGas must be specified"); } @Override @@ -82,7 +81,7 @@ public ExecutionPayloadHeader build() { SszBytes32.of(blockHash), SszBytes32.of(transactionsRoot), SszBytes32.of(withdrawalsRoot), - SszUInt64.of(excessDataGas), - SszUInt256.of(dataGasUsed)); + SszUInt64.of(dataGasUsed), + SszUInt64.of(excessDataGas)); } } diff --git a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadHeaderDeneb.java b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadHeaderDeneb.java index b333a65e7c8..4e517a88f9c 100644 --- a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadHeaderDeneb.java +++ b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadHeaderDeneb.java @@ -14,15 +14,14 @@ package tech.pegasys.teku.spec.datastructures.execution.versions.deneb; import java.util.Optional; -import org.apache.tuweni.units.bigints.UInt256; import tech.pegasys.teku.infrastructure.unsigned.UInt64; import tech.pegasys.teku.spec.datastructures.execution.versions.capella.ExecutionPayloadHeaderCapella; public interface ExecutionPayloadHeaderDeneb extends ExecutionPayloadHeaderCapella { - UInt64 getExcessDataGas(); + UInt64 getDataGasUsed(); - UInt256 getDataGasUsed(); + UInt64 getExcessDataGas(); @Override default Optional toVersionDeneb() { diff --git a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadHeaderDenebImpl.java b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadHeaderDenebImpl.java index 0999114b626..6995b32072e 100644 --- a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadHeaderDenebImpl.java +++ b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadHeaderDenebImpl.java @@ -46,7 +46,7 @@ public class ExecutionPayloadHeaderDenebImpl SszBytes32, SszBytes32, SszUInt64, - SszUInt256> + SszUInt64> implements ExecutionPayloadHeaderDeneb { protected ExecutionPayloadHeaderDenebImpl( @@ -68,7 +68,7 @@ protected ExecutionPayloadHeaderDenebImpl( SszBytes32, SszBytes32, SszUInt64, - SszUInt256> + SszUInt64> schema, TreeNode backingTree) { super(schema, backingTree); @@ -91,8 +91,8 @@ public ExecutionPayloadHeaderDenebImpl( SszBytes32 blockHash, SszBytes32 transactionsRoot, SszBytes32 withdrawalsRoot, - SszUInt64 excessDataGas, - SszUInt256 dataGasUsed) { + SszUInt64 dataGasUsed, + SszUInt64 excessDataGas) { super( schema, parentHash, @@ -110,8 +110,8 @@ public ExecutionPayloadHeaderDenebImpl( blockHash, transactionsRoot, withdrawalsRoot, - excessDataGas, - dataGasUsed); + dataGasUsed, + excessDataGas); } @Override @@ -210,12 +210,12 @@ public Bytes32 getWithdrawalsRoot() { } @Override - public UInt64 getExcessDataGas() { + public UInt64 getDataGasUsed() { return getField15().get(); } @Override - public UInt256 getDataGasUsed() { + public UInt64 getExcessDataGas() { return getField16().get(); } } diff --git a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadHeaderSchemaDeneb.java b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadHeaderSchemaDeneb.java index 600f9fe76ee..9f96f0fbf85 100644 --- a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadHeaderSchemaDeneb.java +++ b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadHeaderSchemaDeneb.java @@ -69,7 +69,7 @@ public class ExecutionPayloadHeaderSchemaDeneb SszBytes32, SszBytes32, SszUInt64, - SszUInt256> + SszUInt64> implements ExecutionPayloadHeaderSchema { private final ExecutionPayloadHeaderDenebImpl defaultExecutionPayloadHeader; @@ -93,8 +93,8 @@ public ExecutionPayloadHeaderSchemaDeneb(final SpecConfigDeneb specConfig) { namedSchema(BLOCK_HASH, SszPrimitiveSchemas.BYTES32_SCHEMA), namedSchema(TRANSACTIONS_ROOT, SszPrimitiveSchemas.BYTES32_SCHEMA), namedSchema(WITHDRAWALS_ROOT, SszPrimitiveSchemas.BYTES32_SCHEMA), - namedSchema(EXCESS_DATA_GAS, SszPrimitiveSchemas.UINT64_SCHEMA), - namedSchema(DATA_GAS_USED, SszPrimitiveSchemas.UINT256_SCHEMA)); + namedSchema(DATA_GAS_USED, SszPrimitiveSchemas.UINT64_SCHEMA), + namedSchema(EXCESS_DATA_GAS, SszPrimitiveSchemas.UINT64_SCHEMA)); final ExecutionPayloadDenebImpl defaultExecutionPayload = new ExecutionPayloadSchemaDeneb(specConfig).getDefault(); @@ -161,7 +161,7 @@ public ExecutionPayloadHeaderDenebImpl createFromExecutionPayload( SszBytes32.of(executionPayload.getBlockHash()), SszBytes32.of(executionPayload.getTransactions().hashTreeRoot()), SszBytes32.of(executionPayload.getWithdrawals().hashTreeRoot()), - SszUInt64.of(executionPayload.getExcessDataGas()), - SszUInt256.of(executionPayload.getDataGasUsed())); + SszUInt64.of(executionPayload.getDataGasUsed()), + SszUInt64.of(executionPayload.getExcessDataGas())); } } diff --git a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadSchemaDeneb.java b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadSchemaDeneb.java index 3fc05e15234..c9696e56724 100644 --- a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadSchemaDeneb.java +++ b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/datastructures/execution/versions/deneb/ExecutionPayloadSchemaDeneb.java @@ -74,7 +74,7 @@ public class ExecutionPayloadSchemaDeneb SszList, SszList, SszUInt64, - SszUInt256> + SszUInt64> implements ExecutionPayloadSchema { private final ExecutionPayloadDenebImpl defaultExecutionPayload; @@ -102,8 +102,8 @@ public ExecutionPayloadSchemaDeneb(final SpecConfigDeneb specConfig) { namedSchema( WITHDRAWALS, SszListSchema.create(new WithdrawalSchema(), specConfig.getMaxWithdrawalsPerPayload())), - namedSchema(EXCESS_DATA_GAS, SszPrimitiveSchemas.UINT64_SCHEMA), - namedSchema(DATA_GAS_USED, SszPrimitiveSchemas.UINT256_SCHEMA)); + namedSchema(DATA_GAS_USED, SszPrimitiveSchemas.UINT64_SCHEMA), + namedSchema(EXCESS_DATA_GAS, SszPrimitiveSchemas.UINT64_SCHEMA)); this.defaultExecutionPayload = createFromBackingNode(getDefaultTree()); } diff --git a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/executionlayer/ExecutionLayerChannelStub.java b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/executionlayer/ExecutionLayerChannelStub.java index a5d04e63e2f..eeadbc48b19 100644 --- a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/executionlayer/ExecutionLayerChannelStub.java +++ b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/executionlayer/ExecutionLayerChannelStub.java @@ -247,8 +247,8 @@ public SafeFuture engineGetPayload( .blockHash(Bytes32.random()) .transactions(transactions) .withdrawals(() -> payloadAttributes.getWithdrawals().orElse(List.of())) - .excessDataGas(() -> UInt64.ZERO) - .dataGasUsed(() -> UInt256.ZERO)); + .dataGasUsed(() -> UInt64.ZERO) + .excessDataGas(() -> UInt64.ZERO)); // we assume all blocks are produced locally lastValidBlock = diff --git a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/logic/versions/deneb/forktransition/DenebStateUpgrade.java b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/logic/versions/deneb/forktransition/DenebStateUpgrade.java index e7d6047efb2..e72d69dc266 100644 --- a/ethereum/spec/src/main/java/tech/pegasys/teku/spec/logic/versions/deneb/forktransition/DenebStateUpgrade.java +++ b/ethereum/spec/src/main/java/tech/pegasys/teku/spec/logic/versions/deneb/forktransition/DenebStateUpgrade.java @@ -13,7 +13,6 @@ package tech.pegasys.teku.spec.logic.versions.deneb.forktransition; -import org.apache.tuweni.units.bigints.UInt256; import tech.pegasys.teku.infrastructure.unsigned.UInt64; import tech.pegasys.teku.spec.config.SpecConfigDeneb; import tech.pegasys.teku.spec.datastructures.execution.ExecutionPayloadHeader; @@ -91,8 +90,8 @@ public BeaconStateDeneb upgrade(final BeaconState preState) { .blockHash(capellaHeader.getBlockHash()) .transactionsRoot(capellaHeader.getTransactionsRoot()) .withdrawalsRoot(capellaHeader::getWithdrawalsRoot) - .excessDataGas(() -> UInt64.ZERO) - .dataGasUsed(() -> UInt256.ZERO)); + .dataGasUsed(() -> UInt64.ZERO) + .excessDataGas(() -> UInt64.ZERO)); state.setLatestExecutionPayloadHeader(upgradedExecutionPayloadHeader); diff --git a/ethereum/spec/src/testFixtures/java/tech/pegasys/teku/spec/generator/BlockProposalTestUtil.java b/ethereum/spec/src/testFixtures/java/tech/pegasys/teku/spec/generator/BlockProposalTestUtil.java index 56298f1a6c0..9d90c89b023 100644 --- a/ethereum/spec/src/testFixtures/java/tech/pegasys/teku/spec/generator/BlockProposalTestUtil.java +++ b/ethereum/spec/src/testFixtures/java/tech/pegasys/teku/spec/generator/BlockProposalTestUtil.java @@ -271,8 +271,8 @@ private ExecutionPayload createExecutionPayload( .blockHash(dataStructureUtil.randomBytes32()) .transactions(transactions.orElse(Collections.emptyList())) .withdrawals(List::of) - .excessDataGas(() -> UInt64.ZERO) - .dataGasUsed(() -> UInt256.ZERO)); + .dataGasUsed(() -> UInt64.ZERO) + .excessDataGas(() -> UInt64.ZERO)); } private Boolean isMergeTransitionComplete(final BeaconState state) { diff --git a/ethereum/spec/src/testFixtures/java/tech/pegasys/teku/spec/util/DataStructureUtil.java b/ethereum/spec/src/testFixtures/java/tech/pegasys/teku/spec/util/DataStructureUtil.java index 4eaabece2f0..a9f4c975f34 100644 --- a/ethereum/spec/src/testFixtures/java/tech/pegasys/teku/spec/util/DataStructureUtil.java +++ b/ethereum/spec/src/testFixtures/java/tech/pegasys/teku/spec/util/DataStructureUtil.java @@ -572,8 +572,8 @@ public ExecutionPayloadHeader randomExecutionPayloadHeader( .blockHash(randomBytes32()) .transactionsRoot(randomBytes32()) .withdrawalsRoot(() -> withdrawalsRoot) - .excessDataGas(this::randomUInt64) - .dataGasUsed(this::randomUInt256)); + .dataGasUsed(this::randomUInt64) + .excessDataGas(this::randomUInt64)); } public ExecutionPayloadHeader randomExecutionPayloadHeader(final SpecVersion specVersion) { @@ -654,8 +654,8 @@ public ExecutionPayload randomExecutionPayload( .blockHash(randomBytes32()) .transactions(randomExecutionPayloadTransactions()) .withdrawals(this::randomExecutionPayloadWithdrawals) - .excessDataGas(this::randomUInt64) - .dataGasUsed(this::randomUInt256); + .dataGasUsed(this::randomUInt64) + .excessDataGas(this::randomUInt64); postRandomModifications.accept(executionPayloadBuilder); }); }