Skip to content

Commit

Permalink
doc: diff fork
Browse files Browse the repository at this point in the history
  • Loading branch information
thinkAfCod committed Jan 18, 2024
1 parent 9cdb161 commit 866d317
Showing 1 changed file with 83 additions and 4 deletions.
87 changes: 83 additions & 4 deletions fork.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,29 +35,68 @@ def:
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/encoding/TransactionDecoder.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/encoding/TransactionEncoder.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/Transaction.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/TransactionReceipt.java"
- title: "L1 cost computation"
description: |
Transactions must pay an additional L1 cost based on the amount of rollup-data-gas they consume,
estimated based on gas-price-oracle information and encoded tx size."
globs:
- "datatypes/src/main/java/org/hyperledger/besu/datatypes/RollupGasData.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/L1CostCalculator.java"
- title: "Transaction processing"
description: |
Deposit transactions have special processing rules: gas is pre-paid on L1,
and deposits with EVM-failure are included with rolled back changes (except mint).
For regular transactions, at the end of the transition, the 1559 burn and L1 cost are routed to vaults.
globs:
- "ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/layered/BaseFeePrioritizedTransactions.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetTransactionProcessor.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetTransactionValidator.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/AbstractBlockProcessor.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetBlockProcessor.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/L1CostCalculator.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ClassicBlockProcessor.java"
- "evm/src/main/java/org/hyperledger/besu/evm/frame/MessageFrame.java"
- title: "Gaslimit"
description: |
The gaslimit is free to be set by the Engine API caller, instead of enforcing adjustments of the
gaslimit in increments of 1/1024 of the previous gaslimit.
The gaslimit is changed (and limited) through the `SystemConfig` contract.
globs:
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/core/feemarket/BaseFee.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/feemarket/BaseFeeMarket.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/feemarket/CancunFeeMarket.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/feemarket/FeeMarket.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/feemarket/LondonFeeMarket.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/feemarket/ZeroBaseFeeMarket.java"
- "ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/EthFeeHistory.java"
- title: "Block Creation modifications"
description: |
The block creation code implements the changes to support the transaction-inclusion,
tx-pool toggle and gaslimit parameters of the Engine API.
globs:
- "consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeCoordinator.java"
- "consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeMiningCoordinator.java"
- "consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeBlockCreator.java.java"
- "consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/blockcreation/MergeBlockCreator.java"
- "consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/blockcreation/PayloadIdentifier.java"
- "consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/blockcreation/TransitionCoordinator.java"
- "consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/MergeContext.java"
- "consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/PostMergeContext.java"
- "consensus/merge/src/main/java/org/hyperledger/besu/consensus/merge/TransitionContext.java"
- "ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/TransactionPool.java"
- "ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/AbstractBlockCreator.java"
- "ethereum/blockcreation/src/main/java/org/hyperledger/besu/ethereum/blockcreation/txselection/BlockTransactionSelector.java"
- "ethereum/eth/src/main/java/org/hyperledger/besu/ethereum/eth/transactions/PendingTransaction.java"
- title: "Validation modifications"
description: |
The block validation and transaction validation modifications.
globs:
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/headervalidationrules/BaseFeeMarketBlockHeaderGasPriceValidationRule.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/BaseFeeBlockBodyValidator.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/BodyValidation.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetTransactionValidator.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/PermissionTransactionValidator.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/TransactionValidator.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/TransactionValidatorFactory.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/transaction/TransactionInvalidReason.java"
- title: "Engine API modifications"
description: |
The Engine API is extended to insert transactions into the block and optionally exclude the tx-pool,
Expand All @@ -70,15 +109,55 @@ def:
- "ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/methods/engine/EngineForkchoiceUpdatedV3.java"
- "ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/EnginePayloadAttributesParameter.java"
- "ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/parameters/EnginePreparePayloadParameter.java"
- "ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/TransactionCompleteResult.java"
- "ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/jsonrpc/internal/results/TransactionReceiptResult.java"
- title: "Deploys Create2 Deployer Contract"
description: |
The Create2 Deployer contract is used to deploy contracts to the L2.
It is used by the sequencer to deploy the sequencer contract.
globs:
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/Create2DeployerFunction.java"
- title: "Chain Configuration"
sub:
- title: "Chain config"
description: |
The rollup functionality is enabled with the `optimism` field in the chain config.
The EIP-1559 parameters are configurable to adjust for faster more frequent and smaller blocks.
The parameters can be overriden for testing.
globs:
- "config/src/main/java/org/hyperledger/besu/config/JsonGenesisConfigOptions.java"
- "config/src/main/java/org/hyperledger/besu/config/GenesisConfigOptions.java"
- "config/src/main/java/org/hyperledger/besu/config/OptimismConfigOptions.java"
- title: "Node Configuration"
sub:
- title: "Controller modifications"
description: |
Changes to the node configuration and services.
globs:
- "besu/src/main/java/org/hyperledger/besu/controller/BesuController.java"
- "besu/src/main/java/org/hyperledger/besu/controller/MergeBesuControllerBuilder.java"
- title: "Spec Builder"
description: |
The Spec Builder is extended to support the new transaction type and the new EIP-1559 parameters for the `optimism`.
globs:
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ProtocolScheduleBuilder.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ProtocolSpecBuilder.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/MainnetProtocolSpecs.java"
- "ethereum/core/src/main/java/org/hyperledger/besu/ethereum/mainnet/ClassicProtocolSpecs.java"



# files can be ignored globally, these will be listed in a separate grayed-out section,
# and do not count towards the total line count.
ignore:
- "*.sum"
- ".gitignore"
- ".github/**/*"
- ".github/actions/**/*.yml"
- ".circleci/**/*"
- ".circleci-nouse/**/*"
- "forkdiff.yaml"
- "gradle/*"
- "**/*.yml"
- "fork.yaml"
- "Dockerfile"
- "README.md"

0 comments on commit 866d317

Please sign in to comment.