Debian package contains compiled contracts and manifests with
corresponding directories, which will be placed into
/var/lib/neofs/contract for further usage.
Depends on neo-go package to build.
Signed-off-by: Dmitriy Zabolotskiy <d.zabolotskiy@yadro.com>
There is a need to return similar structure of information about the
storage nodes from the contract storage readers. In previous
implementation some methods didn't return node state which can differ
with the one encoded in the node's BLOB.
Define `Node` structure of the information about the storage nodes
recorded in the contract storage. Return `[]Node` from all related
methods.
Also improve docs of touched contract methods.
Signed-off-by: Leonard Lyubich <ctulhurider@gmail.com>
When using contracts as a dependency, out-of-range `int` can cause
problems on 32-bit architectures. Contract byte-code hasn't changed.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
There are 2 approaches:
1. Use `storage.Find` to enumerate all containers.
2. Store a counter by a separate key.
Here we implemented 1, because this method is readonly (thus GAS cost it
not a problem) and simpler to implement.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
Add notifications to:
- container put, delete, setEACL
- netmap addPeer, updateState
Because notifications are limited in size (currently arguments should be
less than 1024 bytes) provide only minimal information, such as entity
ID (container ID or node public key).
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
maxDomainNameFragmentLength means maximum length of label of domain name
A label may contain zero to 63 characters. The null label, of length
zero, is reserved for the root zone. The full domain name may not exceed
the length of 253 characters in its textual representation
Signed-off-by: Angira Kekteeva <kira@nspcc.ru>
Main chain NeoFS contract was not updated to v0.14.2. Current
contract version is v0.14.0 However, there is no functional
changes between v0.14.0 and v0.14.2. To avoid NeoFS contract
update, this commit lowers minimal contract version.
All other contracts have been updated to v0.14.2 and they are not
affected by this change.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
Only leave `IRNode` in neofs contract because it is public.
The newly added conversion in `AlphabetList` shouldn't be a problem
because this is a read method.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
Require `UpdateState` to be called by both storage node and the alphabet
in notary-enabled environment, fail if only one of the signatures is present.
`UpdateStateIR` can be use for force updates by the alphabet.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>