From 7a5a43f50f90a71842a2e27d611ce0164d73336a Mon Sep 17 00:00:00 2001 From: coffeepots Date: Tue, 4 Sep 2018 12:23:47 +0100 Subject: [PATCH] Add generateAddress utility --- nimbus/utils/addresses.nim | 4 ++++ nimbus/vm/interpreter/opcodes_impl.nim | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) create mode 100644 nimbus/utils/addresses.nim 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