* Rename:
- SendLocalTrust → AnnounceLocalTrust
- SendIntermediateResult → AnnounceIntermediateResult
Those methods don't expect to Send anything, but to further announce
the trust information from the node.
* Change PeerID to explicitly use public key as a node identifier
* Minor comments reformat
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
Change `trust` field type of `SendIntermediateResultRequest.Body` message to
`PeerToPeerTrust` since `SendIntermediateResult` call transfers the node's
directed trust to the node.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Add `version` field as a first field of `GlobalTrust` message. This field
will allow you to quickly extract the version of the message from the binary
representation.
Additionally fix `signature` field's package format.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Add `SendIntermediateResult` RPC to `ReputationService`. Define structures
of request and response messages.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Neo3 Oracles need a way to check object's MIME content type, as
described in neo-project/neo-modules#555.
The proposal was to add Content-Type as a well-known attribute.
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
Define `NetworkInfo` rpc which can be used to read the recent NeoFS network
information. Request body is empty, response body contains NetworkInfo
message.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
It may be confusing for the user to get all types of objects as the
result of a search with no filters set. Human users may expect to see
only the objects intended for direct manipulation by humans.
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
The behavior of the node when processing system search filters with match
type NOT_PRESENT is declared undefined.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
When object can't be found using current network map, there is a chance to find
it using netmap versions from previous epochs.
By default only current netmap is used. Well-known X-Headers can be used to set
the specific netmap version and limit how deep into the past the node can go in
the search of an object.
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>
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>
All types of attribute keys must be unique and can't be repeated in the same
entity.
- Containers with duplicated attribute keys must not be accepted by InnerRing on
creation.
- Nodes with duplicated attribute keys can't be accepted to NetMap by InnerRing
- Objects with duplicated attribute keys must be considered invalid and not
accepted in PUT operations
Signed-off-by: Stanislav Bogatyrev <stanislav@nspcc.ru>