core, rpc: add GetCommittee method

Closes #1414
This commit is contained in:
Anna Shaleva 2020-09-21 15:34:04 +03:00
parent dbfdfd8e9b
commit 770c8d774c
7 changed files with 74 additions and 0 deletions

View file

@ -19,6 +19,7 @@ import (
"github.com/nspcc-dev/neo-go/pkg/core/state"
"github.com/nspcc-dev/neo-go/pkg/core/transaction"
"github.com/nspcc-dev/neo-go/pkg/crypto/hash"
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
"github.com/nspcc-dev/neo-go/pkg/encoding/address"
"github.com/nspcc-dev/neo-go/pkg/internal/testserdes"
"github.com/nspcc-dev/neo-go/pkg/rpc/request"
@ -30,6 +31,7 @@ import (
"github.com/nspcc-dev/neo-go/pkg/vm"
"github.com/nspcc-dev/neo-go/pkg/vm/opcode"
"github.com/nspcc-dev/neo-go/pkg/vm/stackitem"
"github.com/pkg/errors"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
@ -284,6 +286,22 @@ var rpcClientTestCases = map[string][]rpcClientTestCase{
},
},
},
"getcommittee": {
{
name: "positive",
invoke: func(c *Client) (interface{}, error) {
return c.GetCommittee()
},
serverResponse: `{"jsonrpc":"2.0","id":1,"result":["02103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e"]}`,
result: func(c *Client) interface{} {
member, err := keys.NewPublicKeyFromString("02103a7f7dd016558597f7960d27c516a4394fd968b9e65155eb4b013e4040406e")
if err != nil {
panic(errors.Wrap(err, "failed to decode public key"))
}
return keys.PublicKeys{member}
},
},
},
"getconnectioncount": {
{
name: "positive",
@ -1068,6 +1086,12 @@ var rpcClientErrorCases = map[string][]rpcClientErrorCase{
return c.GetBlockSysFee(1)
},
},
{
name: "getcommittee_unmarshalling_error",
invoke: func(c *Client) (interface{}, error) {
return c.GetCommittee()
},
},
{
name: "getconnectioncount_unmarshalling_error",
invoke: func(c *Client) (interface{}, error) {