Conversation
|
Reviewed the shared insertion guard and the regression cases. Normalizing each validated hex address for the duplicate check is the right scope: it catches case aliases across generated and prefunded allocations while preserving the original key casing in the serialized genesis output. The tests also cover both alias insertion orders, collisions with an implementation and a precompile, and preservation of distinct allocations and total supply. I found no correctness issue in this change. One non-blocking follow-up: the green checks on this PR do not appear to run the TypeScript |
@Yudis-bit could you address @osr21 's above comment |
9af7a85 to
8e46d5d
Compare
Reject duplicate genesis allocations by comparing lowercase account identities while preserving the original address keys. This prevents mixed-case aliases from bypassing collision checks and inflating the native coin total supply.
The regression tests cover both prefund insertion orders, identical addresses, collisions with implementation and precompile addresses, and preservation of distinct balances, address casing, bytecode, nonce, and total supply.
Public CI now runs the existing
make test-unit-hardhattarget inContracts Tests, using Node 22,npm ci, and the existing Foundry setup. This includes the matcher tests and alltests/unit/*.test.tsfiles.Validation:
git diff --checkpassed.Closes #468.