diff --git a/object/service.proto b/object/service.proto
index c7a292b..fcb6308 100644
--- a/object/service.proto
+++ b/object/service.proto
@@ -721,10 +721,21 @@ message ReplicateRequest {
// Signature of `object.object_id.value` field.
neo.fs.v2.refs.Signature signature = 2;
+
+ // Optional flag that requires server side to attach signature of just
+ // replicated object to ensure it has been received correctly. Signature
+ // must be calculated with a key that corresponds to an exposed to the
+ // network map public key of the object receiver.
+ bool sign_object = 3;
}
// Replicate RPC response
message ReplicateResponse {
// Operation execution status with one of the enumerated codes.
neo.fs.v2.status.Status status = 1;
+
+ // Deterministic ECDSA with SHA-256 hashing (RFC 6979) signature of
+ // replicated object. Must be attached if request was made with
+ // `sign_object` flag set.
+ bytes object_signature = 2;
}
diff --git a/proto-docs/object.md b/proto-docs/object.md
index a20791b..e6d97bf 100644
--- a/proto-docs/object.md
+++ b/proto-docs/object.md
@@ -721,6 +721,7 @@ Replicate RPC request
| ----- | ---- | ----- | ----------- |
| object | [Object](#neo.fs.v2.object.Object) | | Object to be replicated. |
| signature | [neo.fs.v2.refs.Signature](#neo.fs.v2.refs.Signature) | | Signature of `object.object_id.value` field. |
+| sign_object | [bool](#bool) | | Optional flag that requires server side to attach signature of just replicated object to ensure it has been received correctly. Signature must be calculated with a key that corresponds to an exposed to the network map public key of the object receiver. |
@@ -732,6 +733,7 @@ Replicate RPC response
| Field | Type | Label | Description |
| ----- | ---- | ----- | ----------- |
| status | [neo.fs.v2.status.Status](#neo.fs.v2.status.Status) | | Operation execution status with one of the enumerated codes. |
+| object_signature | [bytes](#bytes) | | Deterministic ECDSA with SHA-256 hashing (RFC 6979) signature of replicated object. Must be attached if request was made with `sign_object` flag set. |