new hive features introduces breaking changes we need to address:
- expose engine api port 8551 in docker script
- export enode.sh file to hive-bin folder
- add terminalTotalDifficulty to mapper.jq
Adds changes to Nimbus Hive support for the new
[Arrow Glacier fork](https://eips.ethereum.org/EIPS/eip-4345).
While here:
- Fix typo in `nimbus.sh`:
`HIVE_FORK_MUIRGLACIER` => `HIVE_FORK_MUIR_GLACIER` (just a comment).
- Add `muirGlacierBlock` to the JSON generated in `extract_consensus_data.nim`.
This makes it symmetric with the JSON parsed in `mapper.jq`.
- Removed "At5" network names which are not used by any of the test suite.
These are `ByzantiumToConstantinopleAt5`, `ConstantinopleFixToIstanbulAt5`
and `IstanbulToBerlinAt5`.
The motivation for removing these instead of systematically including all
possibilities was that I realised `LondonToArrowGlacierAt5` does not appear
anywhere in the current test suite, even though `ArrowGlacier` does. As each
section in the code is rather large already, I thought it cleaner to not add
this one, and keep only the ones the test suite actually uses.
This also now better matches the code in `test_blockchain_json.nim`.
- Sorted `HomesteadToDaoAt5` before `HomesteadToEIP150At5` because the DAO
fork happened earlier than EIP-150 in real life.
Signed-off-by: Jamie Lokier <jamie@shareable.org>
This preparation is needed for subsequent
EIPs included in London.
- Add London to Fork enum
- Block number to fork
- Parsing London fork in chain config
- Prepare gas costs table for London
- Prepare EVM opcode dispatcher for London
- Block rewards for London
- Prepare hive script for London
hive always set 'HIVE_FORK_DAO_VOTE' to '1'.
set 'daoForkSupport' to 'true' if only 'HIVE_FORK_DAO_BLOCK'
is set by hive, not depends only on 'HIVE_FORK_DAO_VOTE'.
This is because 'nimbus-eth1' internal is different compared to 'geth'.
this changes is required due to recent #654.
custom genesis and chain config parser are fixed
and the genesis fields are grouped into "genesis"
field, similar with chain config fields,
they are grouped in "config" field.