nspcc-dev / neofs-contract

NeoFS smart-contract
GNU General Public License v3.0
11 stars 17 forks source link

container: add container lists to the contract #438

Closed carpawell closed 1 month ago

carpawell commented 1 month ago

It must be handled by the Alphabet and be updated after every epoch counter increase. Updating is done in two stage (filling a container list and commiting it) to prevent any stack size/memory restrictions. Closes #412.

carpawell commented 1 month ago

will there be multiple Add's between Commit's?

@cthulhu-rider, yes, if a list is too big we have to make it in more than one call, the stack is limited.

And might we need deletions?

You mean add-then-delete case? Will it be useful? What cases? New methods should be used by the alphabet nodes once per epoch if some container has changed, not sure I understand if an alphabet node calculates a container, puts it, and then decides to change it in a single epoch.

cthulhu-rider commented 1 month ago

You mean add-then-delete case? Will it be useful? What cases?

best answer is to ask questions huh :] delete question followed after multi-add one. I thought if there is "add" and no "set", where is "delete". Now i see that several "add" are essentially "set" so removals is not needed for now

carpawell commented 1 month ago

best answer is to ask questions huh :]

I cannot answer if i do not understand a question (even if it seems like a resolved one now, i still do not understand the original question and its resolution). You asked about deletion, i did not add this so i thought we did not need them. If you have some examples of its usage, i had to ask you to provide them, cause i did not see them. I hope this PR conveys my thoughts and my suggestions, otherwise, i need additional suggestions or change requests.

carpawell commented 1 month ago

lets also update

Hm, did not even know we have it. Updated.

carpawell commented 1 month ago

@roman-khimov, recheck carefully, please, this is the 4th time i redo the PR, it may have stupid mistakes.