diff --git a/pkg/innerring/invoke/container.go b/pkg/innerring/invoke/container.go new file mode 100644 index 0000000000..350efb0c5f --- /dev/null +++ b/pkg/innerring/invoke/container.go @@ -0,0 +1,33 @@ +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" +) + +type ( + // ContainerParams for container put invocation. + ContainerParams struct { + Key *keys.PublicKey + Container []byte + Signature []byte + } +) + +const ( + putContainerMethod = "put" +) + +// RegisterContainer invokes Put method. +func RegisterContainer(cli *client.Client, con util.Uint160, p *ContainerParams) error { + if cli == nil { + return client.ErrNilClient + } + + return cli.Invoke(con, extraFee, putContainerMethod, + p.Container, + p.Signature, + p.Key.Bytes(), + ) +}