diff --git a/nimbus/utils/addresses.nim b/nimbus/utils/addresses.nim new file mode 100644 index 000000000..fbb55f5b6 --- /dev/null +++ b/nimbus/utils/addresses.nim @@ -0,0 +1,4 @@ +import nimcrypto, eth_common, rlp + +proc generateAddress*(address: EthAddress, nonce: AccountNonce): EthAddress = + result[0..19] = keccak256.digest(rlp.encodeList(address, nonce).toOpenArray).data[12..31] diff --git a/nimbus/vm/interpreter/opcodes_impl.nim b/nimbus/vm/interpreter/opcodes_impl.nim index 7a6e9d99a..cc841ddca 100644 --- a/nimbus/vm/interpreter/opcodes_impl.nim +++ b/nimbus/vm/interpreter/opcodes_impl.nim @@ -12,7 +12,7 @@ import ./gas_meter, ./gas_costs, ./opcode_values, ./vm_forks, ../memory, ../message, ../stack, ../code_stream, ../computation, ../../vm_state, ../../errors, ../../constants, ../../vm_types, - ../../db/[db_chain, state_db] + ../../db/[db_chain, state_db], ../../utils/addresses # ################################## # Syntactic sugar