@@ -320,7 +320,7 @@ module.exports = (sequelize, DataTypes) => {
320
320
if ( ! earliestBlock )
321
321
return [ ] ;
322
322
323
- const earliestTimestamp = earliestBlock . timestamp > new Date ( from ) ? earliestBlock . timestamp : new Date ( from ) ;
323
+ const earliestTimestamp = + new Date ( from ) == 0 ? earliestBlock . timestamp : new Date ( from ) ;
324
324
325
325
const [ transactions , ] = await sequelize . query ( `
326
326
SELECT
@@ -358,7 +358,7 @@ module.exports = (sequelize, DataTypes) => {
358
358
if ( ! earliestBlock )
359
359
return [ ] ;
360
360
361
- const earliestTimestamp = earliestBlock . timestamp > new Date ( from ) ? earliestBlock . timestamp : new Date ( from ) ;
361
+ const earliestTimestamp = + new Date ( from ) == 0 ? earliestBlock . timestamp : new Date ( from ) ;
362
362
363
363
const [ deployedContractCount , ] = await sequelize . query ( `
364
364
SELECT
@@ -397,23 +397,34 @@ module.exports = (sequelize, DataTypes) => {
397
397
if ( ! earliestBlock )
398
398
return [ ] ;
399
399
400
- const earliestTimestamp = earliestBlock . timestamp > new Date ( from ) ? earliestBlock . timestamp : new Date ( from ) ;
400
+ const earliestTimestamp = + new Date ( from ) == 0 ? earliestBlock . timestamp : new Date ( from ) ;
401
401
402
402
const [ cumulativeDeployedContractCount , ] = await sequelize . query ( `
403
403
WITH days AS (
404
404
SELECT
405
405
d::date as day
406
406
FROM generate_series(:from::date, :to::date, interval '1 day') d
407
+ ),
408
+ counts AS (
409
+ SELECT
410
+ day::timestamptz AS counts_date,
411
+ count(1) AS count
412
+ FROM transaction_events, days
413
+ WHERE timestamp <= days.day + interval '1 day'
414
+ AND "to" IS NULL
415
+ AND "workspaceId" = :workspaceId
416
+ GROUP BY day
417
+ ORDER BY day ASC
418
+ ),
419
+ filled AS (
420
+ SELECT
421
+ time_bucket_gapfill('1 day', counts_date) AS date,
422
+ locf(avg(count))
423
+ FROM counts
424
+ WHERE counts_date >= :from::date and counts_date < :to::date
425
+ GROUP BY date
407
426
)
408
- SELECT
409
- day::timestamptz AS date,
410
- count(1) AS count
411
- FROM transaction_events, days
412
- WHERE timestamp <= days.day
413
- AND "to" IS NULL
414
- AND "workspaceId" = :workspaceId
415
- GROUP BY day
416
- ORDER BY day ASC
427
+ SELECT date, coalesce(locf, 0)::integer count FROM filled
417
428
` , {
418
429
replacements : {
419
430
from : new Date ( earliestTimestamp ) ,
@@ -441,21 +452,32 @@ module.exports = (sequelize, DataTypes) => {
441
452
if ( ! earliestBlock )
442
453
return [ ] ;
443
454
444
- const earliestTimestamp = earliestBlock . timestamp > new Date ( from ) ? earliestBlock . timestamp : new Date ( from ) ;
455
+ const earliestTimestamp = + new Date ( from ) == 0 ? earliestBlock . timestamp : new Date ( from ) ;
445
456
446
457
const [ cumulativeWalletCount , ] = await sequelize . query ( `
447
458
WITH days AS (
448
459
SELECT
449
460
d::date as day
450
461
FROM generate_series(:from::date, :to::date, interval '1 day') d
462
+ ),
463
+ counts AS (
464
+ SELECT
465
+ day::timestamptz AS counts_date,
466
+ count(distinct "from")
467
+ FROM transaction_events, days
468
+ WHERE timestamp <= days.day + interval '1 day' AND "workspaceId" = :workspaceId
469
+ GROUP BY day
470
+ ORDER BY day ASC
471
+ ),
472
+ filled AS (
473
+ SELECT
474
+ time_bucket_gapfill('1 day', counts_date) AS date,
475
+ locf(avg(count))
476
+ FROM counts
477
+ WHERE counts_date >= :from::date and counts_date < :to::date
478
+ GROUP BY date
451
479
)
452
- SELECT
453
- day::timestamptz AS date,
454
- coalesce(count(distinct "from"), 0) AS count
455
- FROM transaction_events, days
456
- WHERE timestamp <= days.day AND "workspaceId" = :workspaceId
457
- GROUP BY day
458
- ORDER BY day ASC
480
+ SELECT date, coalesce(locf, 0)::integer count FROM filled
459
481
` , {
460
482
replacements : {
461
483
from : new Date ( earliestTimestamp ) ,
@@ -482,7 +504,7 @@ module.exports = (sequelize, DataTypes) => {
482
504
if ( ! earliestBlock )
483
505
return [ ] ;
484
506
485
- const earliestTimestamp = earliestBlock . timestamp > new Date ( from ) ? earliestBlock . timestamp : new Date ( from ) ;
507
+ const earliestTimestamp = + new Date ( from ) == 0 ? earliestBlock . timestamp : new Date ( from ) ;
486
508
487
509
const [ uniqueWalletCount , ] = await sequelize . query ( `
488
510
SELECT
@@ -520,7 +542,7 @@ module.exports = (sequelize, DataTypes) => {
520
542
if ( ! earliestBlock )
521
543
return [ ] ;
522
544
523
- const earliestTimestamp = earliestBlock . timestamp > new Date ( from ) ? earliestBlock . timestamp : new Date ( from ) ;
545
+ const earliestTimestamp = + new Date ( from ) == 0 ? earliestBlock . timestamp : new Date ( from ) ;
524
546
525
547
const [ avgGasPrice , ] = await sequelize . query ( `
526
548
SELECT
@@ -558,7 +580,7 @@ module.exports = (sequelize, DataTypes) => {
558
580
if ( ! earliestBlock )
559
581
return [ ] ;
560
582
561
- const earliestTimestamp = earliestBlock . timestamp > new Date ( from ) ? earliestBlock . timestamp : new Date ( from ) ;
583
+ const earliestTimestamp = + new Date ( from ) == 0 ? earliestBlock . timestamp : new Date ( from ) ;
562
584
563
585
const [ avgTransactionFee , ] = await sequelize . query ( `
564
586
SELECT
@@ -596,7 +618,7 @@ module.exports = (sequelize, DataTypes) => {
596
618
if ( ! earliestBlock )
597
619
return [ ] ;
598
620
599
- const earliestTimestamp = earliestBlock . timestamp > new Date ( from ) ? earliestBlock . timestamp : new Date ( from ) ;
621
+ const earliestTimestamp = + new Date ( from ) == 0 ? earliestBlock . timestamp : new Date ( from ) ;
600
622
601
623
let query = `
602
624
SELECT
0 commit comments