Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func New ¶ added in v0.45.0
func New(s *ecdsa.PrivateKey, net netmap.State, fsChain FSChain, c Contract, nc NetmapContract) *server
New provides protocontainer.ContainerServiceServer based on specified Contract.
All response messages are signed using specified signer and have current epoch in the meta header.
Types ¶
type Contract ¶ added in v0.45.0
type Contract interface {
// Put sends transaction creating container with provided credentials. If
// accepted, transaction is processed async. Returns container ID to check the
// creation status.
Put(_ container.Container, pub, sig []byte, _ *session.Container) (cid.ID, error)
// Get returns container by its ID. Returns [apistatus.ErrContainerNotFound]
// error if container is missing.
Get(cid.ID) (container.Container, error)
// List returns IDs of all container belonging to the given user.
//
// Callers do not modify the result.
List(user.ID) ([]cid.ID, error)
// PutEACL sends transaction setting container's eACL with provided credentials.
// If accepted, transaction is processed async.
PutEACL(_ eacl.Table, pub, sig []byte, _ *session.Container) error
// GetEACL returns eACL of the container by its ID. Returns
// [apistatus.ErrEACLNotFound] error if eACL is missing.
GetEACL(cid.ID) (eacl.Table, error)
// Delete sends transaction removing referenced container with provided
// credentials. If accepted, transaction is processed async.
Delete(_ cid.ID, pub, sig []byte, _ *session.Container) error
}
Contract groups ops of the Container contract deployed in the FS chain required to serve NeoFS API Container service.
type FSChain ¶ added in v0.46.0
type FSChain interface {
InvokeContainedScript(tx *transaction.Transaction, header *block.Header, _ *trigger.Type, _ *bool) (*result.Invoke, error)
}
FSChain provides base non-contract functionality of the FS chain required to serve NeoFS API Container service.
type NetmapContract ¶ added in v0.46.0
type NetmapContract interface {
// GetEpochBlock returns FS chain height when given NeoFS epoch was ticked.
GetEpochBlock(epoch uint64) (uint32, error)
}
NetmapContract represents Netmap contract deployed in the FS chain required to serve NeoFS API Container service.
Click to show internal directories.
Click to hide internal directories.