Skip to content

Commit 248c1fa

Browse files
committed
style(api): avoiding references to pointers
1 parent 0e348d1 commit 248c1fa

File tree

2 files changed

+125
-95
lines changed

2 files changed

+125
-95
lines changed

backend/pkg/api/data_access/mobile.go

Lines changed: 48 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -262,25 +262,22 @@ func (d *DataAccessService) GetValidatorDashboardMobileWidget(ctx context.Contex
262262
return nil
263263
})
264264

265-
retrieveApr := func(timeFrame enums.TimePeriod, apr **float64) {
266-
eg.Go(func() error {
267-
incomeInfo, err := d.getElClAPR(ctx, wrappedDashboardId, -1, timeFrame)
268-
if err != nil {
269-
return err
270-
}
271-
if incomeInfo.Apr.El == nil && incomeInfo.Apr.Cl == nil {
272-
return nil
273-
}
274-
var totalApr float64
275-
if incomeInfo.Apr.El != nil {
276-
totalApr += *incomeInfo.Apr.El
277-
}
278-
if incomeInfo.Apr.Cl != nil {
279-
totalApr += *incomeInfo.Apr.El
280-
}
281-
*apr = &totalApr
282-
return nil
283-
})
265+
retrieveApr := func(timeFrame enums.TimePeriod) (*float64, error) {
266+
incomeInfo, err := d.getElClAPR(ctx, wrappedDashboardId, -1, timeFrame)
267+
if err != nil {
268+
return nil, err
269+
}
270+
if incomeInfo.Apr.El == nil && incomeInfo.Apr.Cl == nil {
271+
return nil, nil
272+
}
273+
var totalApr float64
274+
if incomeInfo.Apr.El != nil {
275+
totalApr += *incomeInfo.Apr.El
276+
}
277+
if incomeInfo.Apr.Cl != nil {
278+
totalApr += *incomeInfo.Apr.El
279+
}
280+
return &totalApr, nil
284281
}
285282

286283
retrieveRewards := func(timeFrame enums.TimePeriod, rewards *t.ClElValue[decimal.Decimal]) {
@@ -294,37 +291,43 @@ func (d *DataAccessService) GetValidatorDashboardMobileWidget(ctx context.Contex
294291
})
295292
}
296293

297-
retrieveEfficiency := func(table string, efficiency **float64) {
298-
eg.Go(func() error {
299-
ds := goqu.Dialect("postgres").
300-
From(goqu.L(fmt.Sprintf(`%s AS r`, table))).
301-
With("validators", goqu.L("(SELECT dashboard_id, validator_index FROM users_val_dashboards_validators WHERE dashboard_id = ?)", dashboardId)).
302-
Select(
303-
goqu.L("SUM(efficiency_dividend::decimal)").As("efficiency_dividend"),
304-
goqu.L("SUM(efficiency_divisor::decimal)").As("efficiency_divisor"),
305-
).
306-
InnerJoin(goqu.L("validators v"), goqu.On(goqu.L("r.validator_index = v.validator_index"))).
307-
Where(goqu.L("r.validator_index IN (SELECT validator_index FROM validators)"))
308-
309-
type dbResult struct {
310-
EfficiencyDividend decimal.Decimal `db:"efficiency_dividend"`
311-
EfficiencyDivisor decimal.Decimal `db:"efficiency_divisor"`
312-
}
313-
dbRes, err := runQuery[dbResult](ctx, d.clickhouseReader, ds)
314-
if !dbRes.EfficiencyDivisor.IsZero() {
315-
eff := dbRes.EfficiencyDividend.Div(dbRes.EfficiencyDivisor).InexactFloat64()
316-
eff *= 100
317-
*efficiency = &eff
318-
}
294+
retrieveEfficiency := func(table string) (*float64, error) {
295+
ds := goqu.Dialect("postgres").
296+
From(goqu.L(fmt.Sprintf(`%s AS r`, table))).
297+
With("validators", goqu.L("(SELECT dashboard_id, validator_index FROM users_val_dashboards_validators WHERE dashboard_id = ?)", dashboardId)).
298+
Select(
299+
goqu.L("SUM(efficiency_dividend::decimal)").As("efficiency_dividend"),
300+
goqu.L("SUM(efficiency_divisor::decimal)").As("efficiency_divisor"),
301+
).
302+
InnerJoin(goqu.L("validators v"), goqu.On(goqu.L("r.validator_index = v.validator_index"))).
303+
Where(goqu.L("r.validator_index IN (SELECT validator_index FROM validators)"))
304+
305+
type dbResult struct {
306+
EfficiencyDividend decimal.Decimal `db:"efficiency_dividend"`
307+
EfficiencyDivisor decimal.Decimal `db:"efficiency_divisor"`
308+
}
309+
dbRes, err := runQuery[dbResult](ctx, d.clickhouseReader, ds)
319310

320-
return err
321-
})
311+
var efficiency *float64
312+
if !dbRes.EfficiencyDivisor.IsZero() {
313+
eff := dbRes.EfficiencyDividend.Div(dbRes.EfficiencyDivisor).InexactFloat64()
314+
eff *= 100
315+
efficiency = &eff
316+
}
317+
318+
return efficiency, err
322319
}
323320

324321
retrieveRewards(enums.Last24h, &data.Last24hIncome)
325322
retrieveRewards(enums.Last7d, &data.Last7dIncome)
326-
retrieveApr(enums.Last30d, &data.Last30dApr)
327-
retrieveEfficiency("validator_dashboard_data_rolling_30d", &data.Last30dEfficiency)
323+
eg.Go(func() error {
324+
data.Last30dApr, err = retrieveApr(enums.Last30d)
325+
return err
326+
})
327+
eg.Go(func() error {
328+
data.Last30dEfficiency, err = retrieveEfficiency("validator_dashboard_data_rolling_30d")
329+
return err
330+
})
328331

329332
err = eg.Wait()
330333

backend/pkg/api/data_access/vdb_management.go

Lines changed: 77 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -377,60 +377,87 @@ func (d *DataAccessService) GetValidatorDashboardOverview(ctx context.Context, d
377377
return nil
378378
})
379379

380-
retrieveRewardsAndEfficiency := func(timeFrame enums.TimePeriod, rewards *t.ClElValue[decimal.Decimal], apr *t.ClElValue[*float64], efficiency **float64) {
381-
// Rewards + APR
382-
eg.Go(func() error {
383-
incomeInfo, err := d.getElClAPR(ctx, dashboardId, -1, timeFrame)
384-
if err != nil {
385-
return err
386-
}
387-
*rewards = incomeInfo.Rewards
388-
*apr = incomeInfo.Apr
389-
return nil
390-
})
391-
392-
// Efficiency
393-
eg.Go(func() error {
394-
table, err := timeFrame.Table()
395-
if err != nil {
396-
return err
397-
}
398-
ds := goqu.Dialect("postgres").
399-
From(goqu.L(fmt.Sprintf(`%s AS r`, table))).
400-
With("validators", goqu.L("(SELECT dashboard_id, validator_index FROM users_val_dashboards_validators WHERE dashboard_id = ?)", dashboardId.Id)).
401-
Select(
402-
goqu.L("SUM(efficiency_dividend::decimal)").As("efficiency_dividend"),
403-
goqu.L("SUM(efficiency_divisor::decimal)").As("efficiency_divisor"),
404-
)
405-
406-
if len(dashboardId.Validators) == 0 {
407-
ds = ds.
408-
InnerJoin(goqu.L("validators v"), goqu.On(goqu.L("r.validator_index = v.validator_index"))).
409-
Where(goqu.L("r.validator_index IN (SELECT validator_index FROM validators)"))
410-
} else {
411-
ds = ds.
412-
Where(goqu.L("r.validator_index IN ?", dashboardId.Validators))
413-
}
380+
retrieveRewards := func(timeFrame enums.TimePeriod) (rewards t.ClElValue[decimal.Decimal], apr t.ClElValue[*float64], err error) {
381+
incomeInfo, err := d.getElClAPR(ctx, dashboardId, -1, timeFrame)
382+
rewards = incomeInfo.Rewards
383+
apr = incomeInfo.Apr
384+
return
385+
}
414386

415-
type dbResult struct {
416-
EfficiencyDividend decimal.Decimal `db:"efficiency_dividend"`
417-
EfficiencyDivisor decimal.Decimal `db:"efficiency_divisor"`
418-
}
419-
dbRes, err := runQuery[dbResult](ctx, d.clickhouseReader, ds)
420-
if !dbRes.EfficiencyDivisor.IsZero() {
421-
eff := dbRes.EfficiencyDividend.Div(dbRes.EfficiencyDivisor).InexactFloat64()
422-
eff *= 100
423-
*efficiency = &eff
424-
}
387+
retrieveEfficiency := func(timeFrame enums.TimePeriod) (efficiency *float64, err error) {
388+
table, err := timeFrame.Table()
389+
if err != nil {
390+
return
391+
}
392+
ds := goqu.Dialect("postgres").
393+
From(goqu.L(fmt.Sprintf(`%s AS r`, table))).
394+
With("validators", goqu.L("(SELECT dashboard_id, validator_index FROM users_val_dashboards_validators WHERE dashboard_id = ?)", dashboardId.Id)).
395+
Select(
396+
goqu.L("SUM(efficiency_dividend::decimal)").As("efficiency_dividend"),
397+
goqu.L("SUM(efficiency_divisor::decimal)").As("efficiency_divisor"),
398+
)
399+
400+
if len(dashboardId.Validators) == 0 {
401+
ds = ds.
402+
InnerJoin(goqu.L("validators v"), goqu.On(goqu.L("r.validator_index = v.validator_index"))).
403+
Where(goqu.L("r.validator_index IN (SELECT validator_index FROM validators)"))
404+
} else {
405+
ds = ds.
406+
Where(goqu.L("r.validator_index IN ?", dashboardId.Validators))
407+
}
425408

426-
return err
427-
})
409+
type dbResult struct {
410+
EfficiencyDividend decimal.Decimal `db:"efficiency_dividend"`
411+
EfficiencyDivisor decimal.Decimal `db:"efficiency_divisor"`
412+
}
413+
dbRes, err := runQuery[dbResult](ctx, d.clickhouseReader, ds)
414+
if !dbRes.EfficiencyDivisor.IsZero() {
415+
eff := dbRes.EfficiencyDividend.Div(dbRes.EfficiencyDivisor).InexactFloat64()
416+
eff *= 100
417+
efficiency = &eff
418+
}
419+
return
428420
}
429421

430-
retrieveRewardsAndEfficiency(enums.Last24h, &data.Rewards.Last24h, &data.Apr.Last24h, &data.Efficiency.Last24h)
431-
retrieveRewardsAndEfficiency(enums.Last7d, &data.Rewards.Last7d, &data.Apr.Last7d, &data.Efficiency.Last7d)
432-
retrieveRewardsAndEfficiency(enums.Last30d, &data.Rewards.Last30d, &data.Apr.Last30d, &data.Efficiency.Last30d)
433-
retrieveRewardsAndEfficiency(enums.AllTime, &data.Rewards.AllTime, &data.Apr.AllTime, &data.Efficiency.AllTime)
422+
// last 24h
423+
eg.Go(func() error {
424+
data.Rewards.Last24h, data.Apr.Last24h, err = retrieveRewards(enums.Last24h)
425+
return err
426+
})
427+
eg.Go(func() error {
428+
data.Efficiency.Last24h, err = retrieveEfficiency(enums.Last24h)
429+
return err
430+
})
431+
432+
// last 7d
433+
eg.Go(func() error {
434+
data.Rewards.Last7d, data.Apr.Last7d, err = retrieveRewards(enums.Last7d)
435+
return err
436+
})
437+
eg.Go(func() error {
438+
data.Efficiency.Last7d, err = retrieveEfficiency(enums.Last7d)
439+
return err
440+
})
441+
442+
// last 30d
443+
eg.Go(func() error {
444+
data.Rewards.Last30d, data.Apr.Last30d, err = retrieveRewards(enums.Last30d)
445+
return err
446+
})
447+
eg.Go(func() error {
448+
data.Efficiency.Last30d, err = retrieveEfficiency(enums.Last30d)
449+
return err
450+
})
451+
452+
// all time
453+
eg.Go(func() error {
454+
data.Rewards.AllTime, data.Apr.AllTime, err = retrieveRewards(enums.AllTime)
455+
return err
456+
})
457+
eg.Go(func() error {
458+
data.Efficiency.AllTime, err = retrieveEfficiency(enums.AllTime)
459+
return err
460+
})
434461

435462
err = eg.Wait()
436463

0 commit comments

Comments
 (0)