Update audit contract with new audit result structure #6

Closed
opened 2025-12-28 18:08:12 +00:00 by sami · 3 comments
Owner

Originally created by @alexvanin on GitHub (Dec 16, 2020).

Originally assigned to: @alexvanin on GitHub.

Now audit contract won't transfer payments and should provide interface to store and get audit result structures.

Stable marshaled audit result structures should be stored directly in contract storage and be accessible by the key. The key is a concatenation of epoch number, container ID and inner ring key.

Extra 1: contract can add some prefix to the key, so it will be able to iterate over results by using such prefix.
Extra 2: we group results by using prefixes of epoch number or epoch number + container ID.

Originally created by @alexvanin on GitHub (Dec 16, 2020). Originally assigned to: @alexvanin on GitHub. Now audit contract won't transfer payments and should provide interface to store and get [audit result structures](https://github.com/nspcc-dev/neofs-api/issues/109). Stable marshaled audit result structures should be stored directly in contract storage and be accessible by the key. The key is a concatenation of epoch number, container ID and inner ring key. Extra 1: contract can add some prefix to the key, so it will be able to iterate over results by using such prefix. Extra 2: we group results by using prefixes of `epoch number` or `epoch number + container ID`.
sami 2025-12-28 18:08:12 +00:00
  • closed this issue
  • added the
    audit
    label
Author
Owner

@realloc commented on GitHub (Dec 17, 2020):

Related: nspcc-dev/neofs-api#109

@realloc commented on GitHub (Dec 17, 2020): Related: nspcc-dev/neofs-api#109
Author
Owner

@alexvanin commented on GitHub (Dec 23, 2020):

What should we return on listing operations? Right now in #28 listing functions return binary encoded audit results. But, I suppose, we can hit some output limits if there will be a lot of big audit results.

We can return list of audit result IDs, however there is a small note: we do not store IDs as keys in contract memory (IDs are too big). However we can fetch the value (binary encoded audit result), get key from the value and put it in the result of the listing.

/cc @realloc

@alexvanin commented on GitHub (Dec 23, 2020): What should we return on listing operations? Right now in #28 listing functions return binary encoded audit results. But, I suppose, we can hit some output limits if there will be a lot of big audit results. We can return list of audit result IDs, however there is a small note: we do not store IDs as keys in contract memory (IDs are too big). However we can fetch the value (binary encoded audit result), get key from the value and put it in the result of the listing. /cc @realloc
Author
Owner

@realloc commented on GitHub (Dec 24, 2020):

Let us have List* methods returning the list of IDs in a shortened format and Get() method accepting ID as argument.

@realloc commented on GitHub (Dec 24, 2020): Let us have `List*` methods returning the list of IDs in a shortened format and `Get()` method accepting ID as argument.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
nspcc-dev/neofs-contract#6
No description provided.