[#486] morph/client: Separate container estimation functions

Inner ring should be able to invoke contract methods both notary
and non notary way.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
remotes/KirillovDenis/release/v0.21.1
Alex Vanin 2021-04-29 16:35:26 +03:00 committed by Alex Vanin
parent 7c559aaeaa
commit c4f4381b13
4 changed files with 34 additions and 2 deletions

View File

@ -93,7 +93,7 @@ func newEpochTimer(args *epochTimerArgs) *timer.BlockTimer {
return
}
err := args.cnrWrapper.StopEstimation(epochN - 1)
err := args.cnrWrapper.StopEstimationNotary(epochN - 1)
if err != nil {
args.l.Warn("can't stop epoch estimation",
zap.Uint64("epoch", epochN),

View File

@ -27,7 +27,7 @@ func (np *Processor) processNewEpoch(epoch uint64) {
}
if epoch > 0 { // estimates are invalid in genesis epoch
err = np.containerWrp.StartEstimation(epoch - 1)
err = np.containerWrp.StartEstimationNotary(epoch - 1)
if err != nil {
np.log.Warn("can't start container size estimation",
zap.Uint64("epoch", epoch),

View File

@ -21,6 +21,13 @@ func (e *StopEstimation) SetEpoch(v int64) {
}
func (c *Client) StartEstimation(args StartEstimation) error {
return errors.Wrapf(c.client.Invoke(
c.startEstimation,
args.epoch,
), "could not invoke method (%s)", c.startEstimation)
}
func (c *Client) StartEstimationNotary(args StartEstimation) error {
return errors.Wrapf(c.client.NotaryInvoke(
c.startEstimation,
args.epoch,
@ -28,6 +35,13 @@ func (c *Client) StartEstimation(args StartEstimation) error {
}
func (c *Client) StopEstimation(args StopEstimation) error {
return errors.Wrapf(c.client.Invoke(
c.stopEstimation,
args.epoch,
), "could not invoke method (%s)", c.stopEstimation)
}
func (c *Client) StopEstimationNotary(args StopEstimation) error {
return errors.Wrapf(c.client.NotaryInvoke(
c.stopEstimation,
args.epoch,

View File

@ -12,6 +12,15 @@ func (w *Wrapper) StartEstimation(epoch uint64) error {
return w.client.StartEstimation(args)
}
// StartEstimationNotary votes to produce start estimation notification through
// notary contract.
func (w *Wrapper) StartEstimationNotary(epoch uint64) error {
args := container.StartEstimation{}
args.SetEpoch(int64(epoch))
return w.client.StartEstimationNotary(args)
}
// StopEstimation votes to produce stop estimation notification.
func (w *Wrapper) StopEstimation(epoch uint64) error {
args := container.StopEstimation{}
@ -19,3 +28,12 @@ func (w *Wrapper) StopEstimation(epoch uint64) error {
return w.client.StopEstimation(args)
}
// StopEstimationNotary votes to produce stop estimation notification through
// notary contract.
func (w *Wrapper) StopEstimationNotary(epoch uint64) error {
args := container.StopEstimation{}
args.SetEpoch(int64(epoch))
return w.client.StopEstimationNotary(args)
}