rpcserver: startTime defaults to the unix epoch

Fixes https://github.com/lightningnetwork/lnd/issues/3357.  When
start_time isn't specified, its default value is 0.  This meant when
users explicitly specified a start_time of 0, we would incorrectly set
start_time to 24 hours in the past.  Now, n0 means n0.
This commit is contained in:
tyzbit 2019-10-03 18:12:21 -04:00
parent 4cb30001ac
commit 8891346cb2
2 changed files with 3 additions and 8 deletions

@ -3532,7 +3532,7 @@ var forwardingHistoryCommand = cli.Command{
payment circuits (HTLCs) over a particular time range (--start_time and payment circuits (HTLCs) over a particular time range (--start_time and
--end_time). The start and end times are meant to be expressed in --end_time). The start and end times are meant to be expressed in
seconds since the Unix epoch. If --start_time isn't provided, seconds since the Unix epoch. If --start_time isn't provided,
then 24 hours ago is used. If --end_time isn't provided, then the Unix epoch (01-01-1970) is used. If --end_time isn't provided,
then the current time is used. then the current time is used.
The max number of events returned is 50k. The default number is 100, The max number of events returned is 50k. The default number is 100,

@ -4637,13 +4637,8 @@ func (r *rpcServer) ForwardingHistory(ctx context.Context,
numEvents uint32 numEvents uint32
) )
// If the start time wasn't specified, we'll default to 24 hours ago. // startTime defaults to the Unix epoch (0 unixtime, or midnight 01-01-1970).
if req.StartTime == 0 {
now := time.Now()
startTime = now.Add(-time.Hour * 24)
} else {
startTime = time.Unix(int64(req.StartTime), 0) startTime = time.Unix(int64(req.StartTime), 0)
}
// If the end time wasn't specified, assume a default end time of now. // If the end time wasn't specified, assume a default end time of now.
if req.EndTime == 0 { if req.EndTime == 0 {