nim-eth/eth/common
Jacek Sieka 6bd6bae86c
Align core types with execution spec (#733)
Since these types were written, we've gained an executable spec:

https://github.com/ethereum/execution-specs

This PR aligns some of the types we use with this spec to simplify
comparisons and cross-referencing.

Using a `distinct` type is a tradeoff between nim ergonomics, type
safety and the ability to work around nim quirks and stdlib weaknesses.

In particular, it allows us to overload common functions such as `hash`
with correct and performant versions as well as maintain control over
string conversions etc at the cost of a little bit of ceremony when
instantiating them.

Apart from distinct byte types, `Hash32`, is introduced in lieu of the
existing `Hash256`, again aligning this commonly used type with the spec
which picks bytes rather than bits in the name.
2024-09-29 10:52:19 +02:00
..
accounts.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
accounts_rlp.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
addresses.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
addresses_rlp.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
base.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
base_rlp.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
blocks.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
blocks_rlp.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
eth_hash.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
eth_types.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
eth_types_json_serialization.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
eth_types_rlp.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
hashes.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
hashes_rlp.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
headers.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
keys.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
receipts.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
receipts_rlp.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
times.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
transaction.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
transactions.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00
transactions_rlp.nim Align core types with execution spec (#733) 2024-09-29 10:52:19 +02:00