mirror of https://github.com/poanetwork/gecko.git
26 lines
622 B
Go
26 lines
622 B
Go
// (c) 2019-2020, Ava Labs, Inc. All rights reserved.
|
|
// See the file LICENSE for licensing terms.
|
|
|
|
package platformvm
|
|
|
|
import (
|
|
"math"
|
|
"time"
|
|
)
|
|
|
|
// reward returns the amount of $AVA to reward the staker with
|
|
func reward(duration time.Duration, amount uint64, inflationRate float64) uint64 {
|
|
// TODO: Can't use floats here. Need to figure out how to do some integer
|
|
// approximations
|
|
|
|
years := duration.Hours() / (365. * 24.)
|
|
|
|
// Total value of this transaction
|
|
value := float64(amount) * math.Pow(inflationRate, years)
|
|
|
|
// Amount of the reward in $AVA
|
|
reward := value - float64(amount)
|
|
|
|
return uint64(reward)
|
|
}
|