2020-10-12 10:17:40 +00:00
|
|
|
package invoke
|
|
|
|
|
|
|
|
import (
|
2020-11-13 11:37:05 +00:00
|
|
|
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
|
2020-10-12 10:17:40 +00:00
|
|
|
"github.com/nspcc-dev/neo-go/pkg/util"
|
|
|
|
"github.com/nspcc-dev/neofs-node/pkg/morph/client"
|
|
|
|
)
|
|
|
|
|
|
|
|
const (
|
|
|
|
emitMethod = "emit"
|
2020-11-13 11:37:05 +00:00
|
|
|
voteMethod = "vote"
|
2020-10-12 10:17:40 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
// 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)
|
|
|
|
}
|
2020-11-13 11:37:05 +00:00
|
|
|
|
|
|
|
// AlphabetVote invokes vote method on alphabet contract.
|
2020-12-04 11:27:58 +00:00
|
|
|
func AlphabetVote(cli *client.Client, con util.Uint160, epoch uint64, keys []keys.PublicKey) error {
|
2020-11-13 11:37:05 +00:00
|
|
|
if cli == nil {
|
|
|
|
return client.ErrNilClient
|
|
|
|
}
|
|
|
|
|
2020-12-04 11:27:58 +00:00
|
|
|
binaryKeys := make([][]byte, 0, len(keys))
|
|
|
|
for i := range keys {
|
|
|
|
binaryKeys = append(binaryKeys, keys[i].Bytes())
|
|
|
|
}
|
|
|
|
|
2021-01-20 13:11:43 +00:00
|
|
|
return cli.Invoke(con, extraFee, voteMethod, int64(epoch), binaryKeys)
|
2020-11-13 11:37:05 +00:00
|
|
|
}
|