forked from TrueCloudLab/frostfs-node
[#1554] morph/event: Remove unused AlphabetUpdate event
Refs TrueCloudLab/frostfs-contract#138. Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
This commit is contained in:
parent
a641c91594
commit
e9837bbcf9
2 changed files with 0 additions and 111 deletions
|
@ -1,54 +0,0 @@
|
|||
package frostfs
|
||||
|
||||
import (
|
||||
"crypto/elliptic"
|
||||
"fmt"
|
||||
|
||||
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/morph/client"
|
||||
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/morph/event"
|
||||
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
|
||||
"github.com/nspcc-dev/neo-go/pkg/vm/stackitem"
|
||||
)
|
||||
|
||||
type UpdateInnerRing struct {
|
||||
keys []*keys.PublicKey
|
||||
}
|
||||
|
||||
// MorphEvent implements Neo:Morph Event interface.
|
||||
func (UpdateInnerRing) MorphEvent() {}
|
||||
|
||||
func (u UpdateInnerRing) Keys() []*keys.PublicKey { return u.keys }
|
||||
|
||||
func ParseUpdateInnerRing(params []stackitem.Item) (event.Event, error) {
|
||||
var (
|
||||
ev UpdateInnerRing
|
||||
err error
|
||||
)
|
||||
|
||||
if ln := len(params); ln != 1 {
|
||||
return nil, event.WrongNumberOfParameters(1, ln)
|
||||
}
|
||||
|
||||
// parse keys
|
||||
irKeys, err := client.ArrayFromStackItem(params[0])
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("could not get updated inner ring keys: %w", err)
|
||||
}
|
||||
|
||||
ev.keys = make([]*keys.PublicKey, 0, len(irKeys))
|
||||
for i := range irKeys {
|
||||
rawKey, err := client.BytesFromStackItem(irKeys[i])
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("could not get updated inner ring public key: %w", err)
|
||||
}
|
||||
|
||||
key, err := keys.NewPublicKeyFromBytes(rawKey, elliptic.P256())
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("could not parse updated inner ring public key: %w", err)
|
||||
}
|
||||
|
||||
ev.keys = append(ev.keys, key)
|
||||
}
|
||||
|
||||
return ev, nil
|
||||
}
|
|
@ -1,57 +0,0 @@
|
|||
package frostfs
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"git.frostfs.info/TrueCloudLab/frostfs-node/pkg/morph/event"
|
||||
"github.com/nspcc-dev/neo-go/pkg/crypto/keys"
|
||||
"github.com/nspcc-dev/neo-go/pkg/vm/stackitem"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func genKey(t *testing.T) *keys.PrivateKey {
|
||||
priv, err := keys.NewPrivateKey()
|
||||
require.NoError(t, err)
|
||||
return priv
|
||||
}
|
||||
|
||||
func TestParseUpdateInnerRing(t *testing.T) {
|
||||
publicKeys := []*keys.PublicKey{
|
||||
genKey(t).PublicKey(),
|
||||
genKey(t).PublicKey(),
|
||||
genKey(t).PublicKey(),
|
||||
}
|
||||
|
||||
t.Run("wrong number of parameters", func(t *testing.T) {
|
||||
prms := []stackitem.Item{
|
||||
stackitem.NewMap(),
|
||||
stackitem.NewMap(),
|
||||
}
|
||||
|
||||
_, err := ParseUpdateInnerRing(prms)
|
||||
require.EqualError(t, err, event.WrongNumberOfParameters(1, len(prms)).Error())
|
||||
})
|
||||
|
||||
t.Run("wrong first parameter", func(t *testing.T) {
|
||||
_, err := ParseUpdateInnerRing([]stackitem.Item{
|
||||
stackitem.NewMap(),
|
||||
})
|
||||
|
||||
require.Error(t, err)
|
||||
})
|
||||
|
||||
t.Run("correct", func(t *testing.T) {
|
||||
ev, err := ParseUpdateInnerRing([]stackitem.Item{
|
||||
stackitem.NewArray([]stackitem.Item{
|
||||
stackitem.NewByteArray(publicKeys[0].Bytes()),
|
||||
stackitem.NewByteArray(publicKeys[1].Bytes()),
|
||||
stackitem.NewByteArray(publicKeys[2].Bytes()),
|
||||
}),
|
||||
})
|
||||
require.NoError(t, err)
|
||||
|
||||
require.Equal(t, UpdateInnerRing{
|
||||
keys: publicKeys,
|
||||
}, ev)
|
||||
})
|
||||
}
|
Loading…
Reference in a new issue