frostfs-node/pkg/innerring/invoke/alphabet.go
Evgenii Stratonikov b5cda8cd41 [#496] morph/client: fallback to simple invoke in NotaryInvoke
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-05-25 13:41:39 +03:00

31 lines
812 B
Go

package invoke
import (
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
"github.com/nspcc-dev/neo-go/pkg/util"
"github.com/nspcc-dev/neofs-node/pkg/morph/client"
)
const (
emitMethod = "emit"
voteMethod = "vote"
)
// AlphabetEmit invokes emit method on alphabet contract.
func AlphabetEmit(cli *client.Client, con util.Uint160) error {
if cli == nil {
return client.ErrNilClient
}
// there is no signature collecting, so we don't need extra fee
return cli.Invoke(con, 0, emitMethod)
}
// AlphabetVote invokes vote method on alphabet contract.
func AlphabetVote(cli *client.Client, con util.Uint160, fee SideFeeProvider, epoch uint64, keys keys.PublicKeys) error {
if cli == nil {
return client.ErrNilClient
}
return cli.NotaryInvoke(con, fee.SideChainFee(), voteMethod, int64(epoch), keys)
}