NeoFS Object are now Content-addressed. It means the Object's address depends on
it's content. ObjectID is now calculated as hash of Header, which contains a
hash of payload. If either if Object's payload of Headers change, the ID will
also change.
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
Replace object address field with the oneof-list of session contexts. Break
the connection of the session with the object. Extend the ability to open
sessions for other needs without losing backward compatibility.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Remove MetaHeader and VerifyHeader from balance request as these fields are also
removed from all container related requests.
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
It was originally planned to transport extended ACL table in binary form.
However, from time on, it was decided to abandon this approach in favor of
the declared message structure (acl.EACLTable). In this regard, this commit
changes the type and name of the binary BearerTokenMsg.Info.ACLRules field
to EACLTable.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
This commit removes ResponseMetaHeader from the repository since it is not
verifiable and its purpose is questionable. If needed, it can be added to
queries without losing compatibility with the API version.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
In previous version of the format RequestMetaHeader, which is included in
all requests, contained the boolean flag Raw. However, this option was
processed only in object.Head and object.Get rpc. Therefore, this commit
strips the field from the request meta header and adds it to the mentioned
requests.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
There is a need to remove gogoproto usage from NeoFS API since this plugin
is not cross-language. This commit removes usage from object package.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
There is a need to remove gogoproto usage from NeoFS API since this plugin
is not cross-language. This commit removes usage from session package.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
There is a need to remove gogoproto usage from NeoFS API since this plugin
is not cross-language. This commit removes usage from service package.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
There is a need to remove gogoproto usage from NeoFS API since this plugin
is not cross-language. This commit removes usage from refs package.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Replaces import of PlacementRule message from netmap repository with a message
from the internal netmap package.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
There is a need to remove gogoproto usage from NeoFS API since this plugin
is not cross-language. This commit removes usage from container package.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
There is a need to remove gogoproto usage from NeoFS API since this plugin
is not cross-language. This commit removes usage from acl package.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Move NodeInfo message definition to netmap package. Package bootstrap is
completely removed from the repository.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Introduce netmap package to repository. Also as initial use, added container
storage rules message netmap.PlacementRule.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
There is a need to remove gogoproto usage from NeoFS API since this plugin
is not cross-language. This commit removes usage from NodeInfo message.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
After removing State service from the public API, SpreadMap message became
redundant, so it is deleted.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Remove Bootstrap service with all related types from bootstrap package since it
was used to prototype NeoFS system.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Move Query message definition to object package since it is only used there.
Package query is completely removed from the repository.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Move Decimal message definition to accounting package since it is only used
there. Package decimal is completely removed from the repository.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
There is a need to remove gogoproto usage from NeoFS API since this plugin
is not cross-language. This commit removes usage from Decimal message.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
There is a need to remove gogoproto usage from NeoFS API since this plugin
is not cross-language. This commit removes usage from BalanceRequest
message.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Some types in accounting package used to prototype the NeoFS system. With
the transition to a banking system using blockchain, these types have lost
their relevance, so this commit deletes them.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Remove BalanceResponse field that carried the list of lock account since it
ceased to be externally controlled and is now managed by Smart Contract.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Change the type of all fields for identifier of the container owner to
refs.OwnerID. This will allow you to follow a single format and not duplicate
its description.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Define OwnerID message in refs package. In the future, this structure can be
ported into messages in place of the owner identifier field to maintain format
uniformity. Also, storing the identifier in a dedicated message will allow, if
necessary, to expand it with additional information without losing backward
compatibility within one version of the API.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>