nimbus-eth1/nimbus/evm
Jordan Hrycaj 6dc2773957
Only use pre hashed addresses as account keys (#2424)
* Normalised storage tree addressing in function prototypes

detail:
  Argument list is always `<db> <account-path> <slot-path> ..` with
  both path arguments as `openArray[]`

* Remove cruft

* CoreDb internally Use full account paths rather than addresses

* Update API logging

* Use hashed account address only in prototypes

why:
  This avoids unnecessary repeated hashing of the same account address.
  The burden of doing that is upon the application. In the case here,
  the ledger caches all kinds of stuff anyway so it is common sense to
  exploit that for account address hashes.

caveat:
  Using `openArray[byte]` argument types for hashed accounts is inherently
  fragile. In non-release mode, a length verification `doAssert` is
  enabled by default.

* No accPath in data record (use `AristoAccount` as `CoreDbAccount`)

* Remove now unused `eAddr` field from ledger `AccountRef` type

why:
  Is duplicate of lookup key

* Avoid merging the account record/statement in the ledger twice.
2024-06-27 19:21:01 +00:00
..
interpreter Remove pre and post opcode handlers from EVM (#2409) 2024-06-24 07:58:15 +02:00
tracer avoid initTable (#2328) 2024-06-10 11:05:30 +02:00
blake2b_f.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
blscurve.nim Bump nim-blscurve for gcc-14 compatibility (#2365) 2024-06-15 17:34:07 +00:00
code_bytes.nim Cache code and invalid jump destination tables (fixes #2268) (#2404) 2024-06-21 09:44:10 +02:00
code_stream.nim Cache code and invalid jump destination tables (fixes #2268) (#2404) 2024-06-21 09:44:10 +02:00
computation.nim Only use pre hashed addresses as account keys (#2424) 2024-06-27 19:21:01 +00:00
evm_errors.nim Remove exceptions from EVM (#2314) 2024-06-07 15:24:32 +07:00
evmc_api.nim Bump nim-eth, nim-web3, nimbus-eth2 (#2344) 2024-06-14 14:31:08 +07:00
evmc_helpers.nim Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
internals.nim Remove EVM indirect imports and unused EVM errors (#2370) 2024-06-17 09:56:39 +02:00
interpreter_dispatch.nim Vm2Ctx -> VmCtx, Vm2Op -> VmOp (#2369) 2024-06-15 23:18:53 +07:00
memory.nim Fix lowest-hanging fruit in VM (#2382) 2024-06-18 07:55:35 +07:00
message.nim EVM embrace more EVMC types 2023-08-28 21:36:23 +07:00
modexp.nim Add style check to config.nims and fix styles in source code (#2038) 2024-02-20 10:07:38 +07:00
nimdoc.cfg Add check copyright year linter to CI 2023-11-01 10:41:20 +07:00
precompiles.nim Bump nim-eth, nim-web3, nimbus-eth2 (#2344) 2024-06-14 14:31:08 +07:00
stack.nim Remove exceptions from EVM (#2314) 2024-06-07 15:24:32 +07:00
state.nim Fix t8n: blobGasUsed exceeds allowance issue (#2407) 2024-06-24 07:56:24 +02:00
state_transactions.nim Only use pre hashed addresses as account keys (#2424) 2024-06-27 19:21:01 +00:00
types.nim Fix t8n: blobGasUsed exceeds allowance issue (#2407) 2024-06-24 07:56:24 +02:00