forked from TrueCloudLab/frostfs-node
9a86fff7e0
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
53 lines
1.1 KiB
Go
53 lines
1.1 KiB
Go
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
|
|
}
|
|
|
|
// ContainerParams for container put invocation.
|
|
RemoveContainerParams struct {
|
|
ContainerID []byte
|
|
Signature []byte
|
|
}
|
|
)
|
|
|
|
const (
|
|
putContainerMethod = "put"
|
|
deleteContainerMethod = "delete"
|
|
listContainersMethod = "list"
|
|
)
|
|
|
|
// 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, 5*extraFee, putContainerMethod,
|
|
p.Container,
|
|
p.Signature,
|
|
p.Key.Bytes(),
|
|
)
|
|
}
|
|
|
|
// RegisterContainer invokes Delete method.
|
|
func RemoveContainer(cli *client.Client, con util.Uint160, p *RemoveContainerParams) error {
|
|
if cli == nil {
|
|
return client.ErrNilClient
|
|
}
|
|
|
|
return cli.Invoke(con, extraFee, deleteContainerMethod,
|
|
p.ContainerID,
|
|
p.Signature,
|
|
)
|
|
}
|