Skip to content

Commit

Permalink
Refactoring: make vesting time omitempty
Browse files Browse the repository at this point in the history
  • Loading branch information
aopoltorzhicky committed Jul 2, 2024
1 parent b8d3bd6 commit 1963dad
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 8 deletions.
4 changes: 3 additions & 1 deletion cmd/api/handler/address_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -585,7 +585,9 @@ func (s *AddressTestSuite) TestVestings() {
s.Require().Equal("100", v.Amount)
s.Require().EqualValues(1000, v.Height)
s.Require().Equal(testTime, v.Time)
s.Require().Equal(testTime, v.EndTime)
s.Require().NotNil(v.EndTime)
s.Require().Equal(testTime, *v.EndTime)
s.Require().Nil(v.StartTime)
}

func (s *AddressTestSuite) TestGrants() {
Expand Down
43 changes: 36 additions & 7 deletions cmd/api/handler/responses/vesting.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,15 @@ type Vesting struct {
Id uint64 `example:"12" format:"integer" json:"id" swaggertype:"integer"`
Height pkgTypes.Level `example:"100" format:"integer" json:"height" swaggertype:"integer"`
Time time.Time `example:"2023-07-04T03:10:57+00:00" format:"date-time" json:"time" swaggertype:"string"`
StartTime time.Time `example:"2023-07-04T03:10:57+00:00" format:"date-time" json:"start_time,omitempty" swaggertype:"string"`
EndTime time.Time `example:"2023-07-04T03:10:57+00:00" format:"date-time" json:"end_time,omitempty" swaggertype:"string"`
StartTime *time.Time `example:"2023-07-04T03:10:57+00:00" format:"date-time" json:"start_time,omitempty" swaggertype:"string"`
EndTime *time.Time `example:"2023-07-04T03:10:57+00:00" format:"date-time" json:"end_time,omitempty" swaggertype:"string"`
Hash string `example:"652452A670018D629CC116E510BA88C1CABE061336661B1F3D206D248BD558AF" format:"binary" json:"hash,omitempty" swaggertype:"string"`
Type types.VestingType `example:"delayed" format:"string" json:"type" swaggertype:"string"`
Amount string `example:"123.13333" format:"string" json:"amount" swaggertype:"string"`
}

var startOfTime = time.Unix(0, 0).UTC()

func NewVesting(v storage.VestingAccount) Vesting {
vesting := Vesting{
Id: v.Id,
Expand All @@ -32,12 +34,39 @@ func NewVesting(v storage.VestingAccount) Vesting {
Amount: v.Amount.String(),
}

if v.StartTime != nil {
vesting.StartTime = *v.StartTime
}
switch v.Type {
case types.VestingTypeContinuous:
if v.StartTime != nil {
vesting.StartTime = v.StartTime
} else {
vesting.StartTime = &startOfTime
}

if v.EndTime != nil {
vesting.EndTime = v.EndTime
} else {
vesting.EndTime = &startOfTime
}

case types.VestingTypePeriodic:
if v.StartTime != nil {
vesting.StartTime = v.StartTime
} else {
vesting.StartTime = &startOfTime
}

if v.EndTime != nil {
vesting.EndTime = v.EndTime
}

case types.VestingTypeDelayed:
if v.EndTime != nil {
vesting.EndTime = v.EndTime
} else {
vesting.EndTime = &startOfTime
}

if v.EndTime != nil {
vesting.EndTime = *v.EndTime
case types.VestingTypePermanent:
}

if v.Tx != nil {
Expand Down

0 comments on commit 1963dad

Please sign in to comment.