diff --git a/nimbus/constants.nim b/nimbus/constants.nim index b3395e0e6..ea730110b 100644 --- a/nimbus/constants.nim +++ b/nimbus/constants.nim @@ -1,3 +1,5 @@ +{.used.} + import eth/common, nimcrypto/hash diff --git a/nimbus/nimbus.nim b/nimbus/nimbus.nim index b37c65520..34c101d87 100644 --- a/nimbus/nimbus.nim +++ b/nimbus/nimbus.nim @@ -49,8 +49,8 @@ proc start(nimbus: NimbusNode) = {.gcsafe.}: let registry = defaultRegistry info "metrics", registry - addTimer(Moment.fromNow(conf.debug.logMetricsInterval.seconds), logMetrics) - addTimer(Moment.fromNow(conf.debug.logMetricsInterval.seconds), logMetrics) + discard setTimer(Moment.fromNow(conf.debug.logMetricsInterval.seconds), logMetrics) + discard setTimer(Moment.fromNow(conf.debug.logMetricsInterval.seconds), logMetrics) ## Creating RPC Server if RpcFlags.Enabled in conf.rpc.flags: diff --git a/nimbus/rpc/p2p.nim b/nimbus/rpc/p2p.nim index d1ffcdcf6..d456eacc7 100644 --- a/nimbus/rpc/p2p.nim +++ b/nimbus/rpc/p2p.nim @@ -28,7 +28,7 @@ import # Work around for https://github.com/nim-lang/Nim/issues/8645 proc `%`*(value: Time): JsonNode = - result = %value.toSeconds + result = %value.toUnix template balance(addressDb: ReadOnlyStateDb, address: EthAddress): GasInt = # TODO: Account balance u256 but GasInt is int64? @@ -107,7 +107,6 @@ proc setupEthRpc*(node: EthereumNode, chain: BaseChainDB, rpcsrv: RpcServer) = # TODO: Requires PeerPool to check sync state. # TODO: Use variant objects var - res: JsonNode sync: SyncState if true: # TODO: Populate sync state, this is a placeholder @@ -237,20 +236,19 @@ proc setupEthRpc*(node: EthereumNode, chain: BaseChainDB, rpcsrv: RpcServer) = ## data: address. ## message: message to sign. ## Returns signature. - let accountDb = getAccountDb(chain.getCanonicalHead()) var privateKey: PrivateKey # TODO: Get from key store result = ("0x" & sign(privateKey, message.string)).HexDataStr - proc setupTransaction(send: EthSend): Transaction = - let - source = send.source.toAddress - destination = send.to.toAddress - data = nimcrypto.utils.fromHex(send.data.string) - contractCreation = false # TODO: Check if has code - v = 0.byte # TODO - r = 0.u256 - s = 0.u256 - result = initTransaction(send.nonce, send.gasPrice, send.gas, destination, send.value, data, v, r, s, contractCreation) + # proc setupTransaction(send: EthSend): Transaction = + # let + # source = send.source.toAddress + # destination = send.to.toAddress + # data = nimcrypto.utils.fromHex(send.data.string) + # contractCreation = false # TODO: Check if has code + # v = 0.byte # TODO + # r = 0.u256 + # s = 0.u256 + # result = initTransaction(send.nonce, send.gasPrice, send.gas, destination, send.value, data, v, r, s, contractCreation) rpcsrv.rpc("eth_sendTransaction") do(obj: EthSend) -> HexDataStr: ## Creates new message call transaction or a contract creation, if the data field contains code. diff --git a/nimbus/utils/difficulty.nim b/nimbus/utils/difficulty.nim index 8bb747e08..1c8624df7 100644 --- a/nimbus/utils/difficulty.nim +++ b/nimbus/utils/difficulty.nim @@ -1,6 +1,5 @@ import - times, - eth/common, stint, + times, eth/common, stint, ../constants, ../config const diff --git a/nimbus/vm/interpreter_dispatch.nim b/nimbus/vm/interpreter_dispatch.nim index 316791b0d..adeeaf66a 100644 --- a/nimbus/vm/interpreter_dispatch.nim +++ b/nimbus/vm/interpreter_dispatch.nim @@ -9,9 +9,8 @@ import tables, macros, chronicles, ./interpreter/[opcode_values, opcodes_impl, vm_forks, gas_costs, gas_meter, utils/macros_gen_opcodes], - ./code_stream, - ../vm_types, ../errors, precompiles, - ./stack, terminal # Those are only needed for logging + ./code_stream, ../vm_types, ../errors, precompiles, ./stack, + terminal # Those are only needed for logging logScope: topics = "vm opcode"