Inner ring nodes conduct data audit and submit audit results. Results are then
saved in audit smart contract for settlement routines to transfer payments.
We don't need to save the full detailed audit report, but only provide enough
information for other subsystems to reward or punish storage nodes.
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
This should be used as a handshake to know API Version supported by peer and to
update local netmap view in future.
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
eACL Table is stored in SC storage, hence format version may be needed to
correctly process it in future.
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
Proposed protobuf format for Placement Policy simplifies direct editing in
visual editors and import/export from other formats like JSON.
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
To simplify decoding of NodeInfo structure inside netmap smart contract, the
first field, also used as a storage key inside contract, has to be of the fixed
length.
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
Some pieces of data (container, object, etc) may be stored for a long time and
there will be a need in the future to understand which obscure format from the
past was used to create it.
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>
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>
After removing State service from the public API, SpreadMap message became
redundant, so it is deleted.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>