Merge pull request #7 from status-im/EthTime
Use separate EthTime type for timestamps
This commit is contained in:
commit
20a9c4903d
|
@ -38,7 +38,7 @@ type
|
|||
nonce*: string
|
||||
mixHash*: string
|
||||
extraData*: string
|
||||
timestamp*: int
|
||||
timestamp*: EthTime
|
||||
stateRoot*: string
|
||||
|
||||
FundedAddress* = ref object
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
|
||||
import
|
||||
ttmath, math, strutils, tables, utils/padding, rlp
|
||||
ttmath, math, strutils, tables, utils/padding, rlp, times
|
||||
|
||||
# rlpFields UInt256, table
|
||||
|
||||
type
|
||||
TypeHint* {.pure.} = enum UInt256, Bytes, Any
|
||||
EthTime* = Time
|
||||
|
||||
|
||||
#Bytes* = seq[byte]
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
# at your option. This file may not be copied, modified, or distributed except according to those terms.
|
||||
|
||||
import
|
||||
../constants, ../errors, ../computation, ../vm_state, ../types, .. / vm / [stack]
|
||||
../constants, ../errors, ../computation, ../vm_state, ../types, .. / vm / [stack], ttmath
|
||||
|
||||
{.this: computation.}
|
||||
{.experimental.}
|
||||
|
@ -23,7 +23,9 @@ proc coinbase*(computation) =
|
|||
stack.push(vmState.coinbase)
|
||||
|
||||
proc timestamp*(computation) =
|
||||
stack.push(vmState.timestamp.u256)
|
||||
# TODO: EthTime is an alias of Time, which is a distinct int64 so can't use u256(int64)
|
||||
# This may have implications for different platforms.
|
||||
stack.push(vmState.timestamp.uint64.u256)
|
||||
|
||||
proc number*(computation) =
|
||||
stack.push(vmState.blockNumber)
|
||||
|
|
|
@ -9,7 +9,6 @@
|
|||
import ../constants, ttmath, strformat, times, ../validation
|
||||
|
||||
type
|
||||
EthTime = Time
|
||||
Header* = ref object
|
||||
timestamp*: EthTime
|
||||
difficulty*: UInt256
|
||||
|
|
|
@ -13,4 +13,3 @@ template keccak*(value: string): string =
|
|||
|
||||
template keccak*(value: cstring): string =
|
||||
($value).keccak
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ method blockhash*(vmState: BaseVMState): string =
|
|||
method coinbase*(vmState: BaseVMState): string =
|
||||
vmState.blockHeader.coinbase
|
||||
|
||||
method timestamp*(vmState: BaseVMState): int =
|
||||
method timestamp*(vmState: BaseVMState): EthTime =
|
||||
vmState.blockHeader.timestamp
|
||||
|
||||
method blockNumber*(vmState: BaseVMState): UInt256 =
|
||||
|
|
Loading…
Reference in New Issue