mirror of
https://github.com/arnaucube/hermez-node.git
synced 2026-02-06 19:06:42 +01:00
API State RecommendedFee
This commit is contained in:
@@ -10,6 +10,12 @@ import (
|
||||
"github.com/hermeznetwork/hermez-node/db/statedb"
|
||||
)
|
||||
|
||||
// TODO: Add correct values to constants
|
||||
const (
|
||||
createAccountExtraFeePercentage float64 = 2
|
||||
createAccountInternalExtraFeePercentage float64 = 2.5
|
||||
)
|
||||
|
||||
// Status define status of the network
|
||||
type Status struct {
|
||||
Network Network `json:"network"`
|
||||
|
||||
@@ -142,5 +142,12 @@ func (a *API) UpdateMetrics() error {
|
||||
|
||||
// UpdateRecommendedFee update Status.RecommendedFee information
|
||||
func (a *API) UpdateRecommendedFee() error {
|
||||
feeExistingAccount, err := a.h.GetAvgTxFee()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
a.status.RecommendedFee.ExistingAccount = feeExistingAccount
|
||||
a.status.RecommendedFee.CreatesAccount = createAccountExtraFeePercentage * feeExistingAccount
|
||||
a.status.RecommendedFee.CreatesAccountAndRegister = createAccountInternalExtraFeePercentage * feeExistingAccount
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -96,3 +96,11 @@ func TestUpdateMetrics(t *testing.T) {
|
||||
assert.Greater(t, api.status.Metrics.TotalBJJs, int64(0))
|
||||
assert.Greater(t, api.status.Metrics.AvgTransactionFee, float64(0))
|
||||
}
|
||||
|
||||
func TestUpdateRecommendedFee(t *testing.T) {
|
||||
err := api.UpdateRecommendedFee()
|
||||
assert.NoError(t, err)
|
||||
assert.Greater(t, api.status.RecommendedFee.ExistingAccount, float64(0))
|
||||
assert.Equal(t, api.status.RecommendedFee.CreatesAccount, api.status.RecommendedFee.ExistingAccount*createAccountExtraFeePercentage)
|
||||
assert.Equal(t, api.status.RecommendedFee.CreatesAccountAndRegister, api.status.RecommendedFee.ExistingAccount*createAccountInternalExtraFeePercentage)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user