# core-geth merge foundation v1.10.15
Notes from the merge.
### Cases
---
Is `ctx.GlobalBool(CatalystFlag.Name)` still a thing? Is __Catalyst__ gone? Defaulted? What even was it?
> I have left the flag in so far, though it seems to have disappeared in upstream.
Same question, sort of, for `ctx.OverrideTerminalTotalDifficulty`.
---
:boom: `Blockchain.Forker` eg `bc.forker.ReorgNeeded()`
`core/forkchoice.go` https://github.com/ethereum/go-ethereum/blob/3038e480f5297b0e80196c156d9f9b45fd86a0bf/core/forkchoice.go
This impacts core-geth's "Artificial Finality" logic, which operates directly on reorg conditions.
I am going to accept the bulk of upstream changes and then fit our logic back in.
All of this __reorg logic__ needs to be looked at again. `core/blockchain.go`
:boom: `consensus.NewMerger` ?! `core/blockchain_test.go`
```go
// Activate the transition since genesis if required
if mergePoint == 0 {
merger.ReachTTD()
merger.FinalizePoS()
```
```go
genEngine = beacon.New(ethash.NewFaker())
runEngine = beacon.New(ethash.NewFaker())
```
I'm starting to think this PoS merge thing might actually happen.
Also: `consensus.Beacon(engine)`.
---
Speaking of, we need to add `MergeForkBlock` to config interface. eg `core/forkid/forkid_test.go` `mergeConfig` test cases.
---
`CaptureStart`, `CaptureEnd`, `CaptureFault`... etc. See [`core/vm/runtime/runtime_test.go`](`https://github.com/ethereum/go-ethereum/tree/v1.10.15/core/vm/runtime/runtime_test.go#L337`).
:question: Not real sure which A/B to use here. __Deferring to @chris.__
---
:question: `gasSha3` renamed(?) to `gasKeccak256`.
[`core/vm/runtime/runtime_test.go`](`https://github.com/ethereum/go-ethereum/tree/v1.10.15/core/vm/gas_table.go#L250`)
See also `vars.Keccak256WordGas`.
---
:question: Where did `core/vm/interpreter.go`'s write restrictions go? EIP-214. `operation.writes`
---
`core/vm/logger.go` Where did all the structs go?
---
`eth/tracers/js/internal/tracers/assets.go`. This is a generated file. There are core-geth specific tracers. __@chris, PTAL.__
Other tracers stuff, too.
---
### Trivia (Tiny Cases)
---
`-dev.gaslimit` flag added for `DeveloperGenesisBlock`. I have messed around this with before, glad to have it.
---
A __max__ gas limit variable is added in params. There also exists `GenesisGasLimit`; to which network does this belong?
```
MaxGasLimit uint64 = 0x7fffffffffffffff // Maximum the gas limit (2^63-1).
```
`TrustedCheckpoint.HashEqual` @ params/config.go; is this a new method?
`AllEthashProtocolChanges` being on one unkeyed line is SUPERANNOYING.