Skip to content

Commit ce2ccbc

Browse files
author
Lukasz Gasior
committed
Add address padding
1 parent ba85329 commit ce2ccbc

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/main/scala/io/iohk/ethereum/blockchain/data/GenesisDataLoader.scala

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ class GenesisDataLoader(dataSource: DataSource, blockchain: Blockchain) extends
2525

2626
private val bloomLength = 512
2727
private val hashLength = 64
28+
private val addressLength = 40
2829

2930
private implicit val accountSerializer = new RLPByteArraySerializable[Account]
3031

@@ -86,7 +87,8 @@ class GenesisDataLoader(dataSource: DataSource, blockchain: Blockchain) extends
8687
val initialStateMpt =
8788
MerklePatriciaTrie[Array[Byte], Account](ephemNodeStorage, (input: Array[Byte]) => crypto.kec256(input))
8889
val stateMpt = genesisData.alloc.foldLeft(initialStateMpt) { case (mpt, (address, AllocAccount(balance))) =>
89-
mpt.put(crypto.kec256(Hex.decode(address)), Account(0, BigInt(balance), emptyTrieRootHash, emptyEvmHash))
90+
val paddedAddress = address.reverse.padTo(addressLength, "0").reverse.mkString
91+
mpt.put(crypto.kec256(Hex.decode(paddedAddress)), Account(0, BigInt(balance), emptyTrieRootHash, emptyEvmHash))
9092
}
9193

9294
val header = BlockHeader(

0 commit comments

Comments
 (0)