For committee operations in side chain we can't use 5\7 multi
address, instead we should use 4\7 for this case.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
Delete initializing of R/W context in `init()`
and start using readonly storage context in
methods where it is possible.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
Fill in `safemethods` fields in contract config files
with methods that do not change contract storages.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
Change []byte type to interop.*aliasName*
types in contracts where it is suitable to
improve the readability of the contracts.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
Proxy contract used by notary contract as a main tx
payment provider. `Verify` function verifies if
main tx contains multisig of 5\7 inner ring
nodes. If so, then contract pays for transaction.
This is easier than support multisig wallet with
GAS assets, because inner ring can change, therefore
multisig wallet can change periodically.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This check was useful when there was a single
entry point in contract. But right now there is
no point in this.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
This reverts commit 76c63b7d
It was workaround for neo-go#1725 but now it is fixed
so we don't need that anymore.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
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 InnerRingList function that calls "innerRingList" method of
particular smart contract. Define InnerRingListViaStorage function
that reads address of smart contract from the storage by key, and
calls InnerRingList with the result. Reuse these functions in all
contracts.
Signed-off-by: Leonard Lyubich <leonard@nspcc.ru>
Replace getList function to common package and export it. Reuse the function
in Container and Reputation contracts.
Signed-off-by: Leonard Lyubich <leonard@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>