[#973] ir: Listen and process Put/Delete events of Subnet contract

Define notification events, implement parsers. Add morph client of
Subnet contract. Listen, verify and approve events in Inner Ring app.

Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit is contained in:
Leonard Lyubich 2021-11-26 15:19:20 +03:00 committed by LeL
parent 214c2bd0cb
commit 41eaa1e246
22 changed files with 1278 additions and 12 deletions

View file

@ -0,0 +1,44 @@
package subnetevents
import (
"errors"
"testing"
"github.com/stretchr/testify/require"
subnetid "github.com/nspcc-dev/neofs-sdk-go/subnet/id"
)
type delete struct {
idEvent
}
func TestDeleteValidator_Assert(t *testing.T) {
var (
v DeleteValidator
e delete
err error
)
// read ID error
e.idErr = errors.New("id err")
err = v.Assert(e)
require.ErrorIs(t, err, e.idErr)
e.idErr = nil
// zero subnet ID
subnetid.MakeZero(&e.id)
err = v.Assert(e)
require.ErrorAs(t, err, new(zeroSubnetOp))
const idNum = 13
e.id.SetNumber(idNum)
err = v.Assert(e)
require.NoError(t, err)
}