[#478] morph/client: Add more global config value getters

Including:
- typo fix for `BasicIncomeRate` method
- epoch duration getter,
- container fee getter,
- EigenTrust iterations getter.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This commit is contained in:
Alex Vanin 2021-04-15 09:42:35 +03:00 committed by Alex Vanin
parent f02de33f8b
commit c33512d976
2 changed files with 39 additions and 4 deletions

View file

@ -35,7 +35,7 @@ func (c *GlobalConfig) BasicIncomeRate() (uint64, error) {
return value, nil
}
return c.nm.BasinIncomeRate()
return c.nm.BasicIncomeRate()
}
func (c *GlobalConfig) AuditFee() (uint64, error) {

View file

@ -8,7 +8,10 @@ import (
const (
maxObjectSizeConfig = "MaxObjectSize"
basicIncomeRateConfig = "BasicIncomeRate"
auditFee = "AuditFee"
auditFeeConfig = "AuditFee"
epochDurationConfig = "EpochDuration"
containerFeeConfig = "ContainerFee"
etIterationsConfig = "EigenTrustIterations"
)
// MaxObjectSize receives max object size configuration
@ -24,7 +27,7 @@ func (w *Wrapper) MaxObjectSize() (uint64, error) {
// BasicIncomeRate returns basic income rate configuration value from network
// config in netmap contract.
func (w *Wrapper) BasinIncomeRate() (uint64, error) {
func (w *Wrapper) BasicIncomeRate() (uint64, error) {
rate, err := w.readUInt64Config(basicIncomeRateConfig)
if err != nil {
return 0, errors.Wrapf(err, "(%T) could not get basic income rate", w)
@ -36,7 +39,7 @@ func (w *Wrapper) BasinIncomeRate() (uint64, error) {
// AuditFee returns audit fee configuration value from network
// config in netmap contract.
func (w *Wrapper) AuditFee() (uint64, error) {
fee, err := w.readUInt64Config(auditFee)
fee, err := w.readUInt64Config(auditFeeConfig)
if err != nil {
return 0, errors.Wrapf(err, "(%T) could not get audit fee", w)
}
@ -44,6 +47,38 @@ func (w *Wrapper) AuditFee() (uint64, error) {
return fee, nil
}
// EpochDuration returns number of sidechain blocks per one NeoFS epoch.
func (w *Wrapper) EpochDuration() (uint64, error) {
epochDuration, err := w.readUInt64Config(epochDurationConfig)
if err != nil {
return 0, errors.Wrapf(err, "(%T) could not get epoch duration", w)
}
return epochDuration, nil
}
// ContainerFee returns fee paid by container owner to each alphabet node
// for container registration.
func (w *Wrapper) ContainerFee() (uint64, error) {
fee, err := w.readUInt64Config(containerFeeConfig)
if err != nil {
return 0, errors.Wrapf(err, "(%T) could not get container fee", w)
}
return fee, nil
}
// EigenTrustIterations returns global configuration value of iteration cycles
// for EigenTrust algorithm per epoch.
func (w *Wrapper) EigenTrustIterations() (uint64, error) {
iterations, err := w.readUInt64Config(etIterationsConfig)
if err != nil {
return 0, errors.Wrapf(err, "(%T) could not get eigen trust iterations", w)
}
return iterations, nil
}
func (w *Wrapper) readUInt64Config(key string) (uint64, error) {
args := netmap.ConfigArgs{}
args.SetKey([]byte(key))