Skip to content

Commit 7521f9d

Browse files
authored
Don't send community rewards to reserve (#2030)
1 parent 5aef595 commit 7521f9d

File tree

1 file changed

+20
-2
lines changed
  • consensus/istanbul/backend

1 file changed

+20
-2
lines changed

consensus/istanbul/backend/pos.go

+20-2
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,14 @@ func (sb *Backend) distributeEpochRewards(header *types.Header, state *state.Sta
119119
return err
120120
}
121121

122-
if err := sb.distributeCommunityRewards(vmRunner, communityReward); err != nil {
123-
return err
122+
if sb.ChainConfig().IsGFork(header.Number) {
123+
if err := sb.distributeCommunityRewards(vmRunner, communityReward); err != nil {
124+
return err
125+
}
126+
} else {
127+
if err := sb.distributeCommunityRewardsWithReserveFallback(vmRunner, communityReward); err != nil {
128+
return err
129+
}
124130
}
125131

126132
if err := sb.distributeVoterRewards(vmRunner, valSet, totalVoterRewards, uptimes); err != nil {
@@ -174,6 +180,18 @@ func (sb *Backend) distributeValidatorRewards(vmRunner vm.EVMRunner, valSet []is
174180
}
175181

176182
func (sb *Backend) distributeCommunityRewards(vmRunner vm.EVMRunner, communityReward *big.Int) error {
183+
governanceAddress, err := contracts.GetRegisteredAddress(vmRunner, config.GovernanceRegistryId)
184+
if err != nil {
185+
return err
186+
}
187+
if governanceAddress != common.ZeroAddress {
188+
// TODO: How to split eco fund here
189+
return gold_token.Mint(vmRunner, governanceAddress, communityReward)
190+
}
191+
return nil
192+
}
193+
194+
func (sb *Backend) distributeCommunityRewardsWithReserveFallback(vmRunner vm.EVMRunner, communityReward *big.Int) error {
177195
governanceAddress, err := contracts.GetRegisteredAddress(vmRunner, config.GovernanceRegistryId)
178196
if err != nil {
179197
return err

0 commit comments

Comments
 (0)