There is an issue with native contract callback functions
and getting storage context: nspcc-dev/neo-go#1725.
This should fix it for now.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
Define IRNode structure in common package. Replace innerRingInvoker function
in common package and export it. Reuse this function in all contracts.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Replace vote/remoteVotes functions from all contracts (except alphabet) to
common package. Additionally replace setSerialized and bytesEqual. Create
InitVote function and use it in NeoFS and Netmap contracts.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Create common package. Define Ballot struct in common package. Use new type
in all contracts with ballots.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Remove old ballots first so there won't be any
interference with votes of the same tx in the
future after `blockDiff` blocks.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>