Skip to content

Commit

Permalink
Merge pull request #312 from multiversx/MX-15590-economics-sovereign-…
Browse files Browse the repository at this point in the history
…block

FEAT: Add epoch start economics in sov block
  • Loading branch information
mariusmihaic authored Aug 5, 2024
2 parents 3d38f8e + ab81ad8 commit 9028001
Show file tree
Hide file tree
Showing 4 changed files with 543 additions and 35 deletions.
64 changes: 64 additions & 0 deletions data/block/sovereignChainHeader.go
Original file line number Diff line number Diff line change
Expand Up @@ -597,6 +597,70 @@ func (sch *SovereignChainHeader) SetStartOfEpochHeader() error {
return nil
}

// SetDevFeesInEpoch sets the developer fees in the header
func (sch *SovereignChainHeader) SetDevFeesInEpoch(value *big.Int) error {
if sch == nil {
return data.ErrNilPointerReceiver
}
if value == nil {
return data.ErrInvalidValue
}
if sch.DevFeesInEpoch == nil {
sch.DevFeesInEpoch = big.NewInt(0)
}

sch.DevFeesInEpoch.Set(value)

return nil
}

// SetAccumulatedFeesInEpoch sets the epoch accumulated fees in the header
func (sch *SovereignChainHeader) SetAccumulatedFeesInEpoch(value *big.Int) error {
if sch == nil {
return data.ErrNilPointerReceiver
}
if value == nil {
return data.ErrInvalidValue
}
if sch.AccumulatedFeesInEpoch == nil {
sch.AccumulatedFeesInEpoch = big.NewInt(0)
}

sch.AccumulatedFeesInEpoch.Set(value)

return nil
}

// GetEpochStartHandler returns epoch start header handler as for metachain, but without last finalized headers
func (sch *SovereignChainHeader) GetEpochStartHandler() data.EpochStartHandler {
if sch == nil {
return nil
}

return &EpochStart{
LastFinalizedHeaders: make([]EpochStartShardData, 0),
Economics: sch.EpochStart.Economics,
}
}

// GetShardInfoHandlers returns empty slice
func (sch *SovereignChainHeader) GetShardInfoHandlers() []data.ShardDataHandler {
if sch == nil {
return nil
}

return make([]data.ShardDataHandler, 0)
}

// SetShardInfoHandlers does nothing
func (sch *SovereignChainHeader) SetShardInfoHandlers(_ []data.ShardDataHandler) error {
if sch == nil {
return data.ErrNilPointerReceiver
}

return nil
}

// SetHash returns the hash
func (omb *OutGoingMiniBlockHeader) SetHash(hash []byte) error {
if omb == nil {
Expand Down
Loading

0 comments on commit 9028001

Please sign in to comment.