Commit graph

125 commits

Author SHA1 Message Date
Evgenii Stratonikov
f1f2101dc6 [#242] container: allow to fetch total amount of countainers
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>
2022-05-24 13:31:18 +03:00
Elizaveta Chichindaeva
335b04d9a6 [#240] English Check
Signed-off-by: Elizaveta Chichindaeva <elizaveta@nspcc.ru>
2022-04-26 23:22:06 +03:00
Evgenii Stratonikov
4a0f0d7408 [#232] netmap: Allow to configure snapshot history size
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-03-29 09:44:38 +03:00
Evgenii Stratonikov
33d5568511 [#234] *: Fix some lint issues
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-03-28 10:27:25 +03:00
Evgenii Stratonikov
01a7163d1e [#229] netmap: Improve UpdateState in notary-enabled environment
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>
2022-03-22 12:56:16 +03:00
Evgenii Stratonikov
666e1d6d8d [#224] netmap: Add tests for NewEpoch
Ensure snapshots are handled properly.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-03-21 18:57:43 +03:00
Evgenii Stratonikov
f6766a144f [#225] netmap: Do not emit some events in notary-enabled mode
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-03-17 16:32:20 +03:00
Evgenii Stratonikov
a4f9d52cfc [#225] netmap: Rename Register to AddPeerIR
Similar to `UpdateState`/`UpdateStateIR` pair.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-03-17 16:32:20 +03:00
Evgenii Stratonikov
9662f9f4db [#225] netmap: Split UpdateState method for notary-enabled environment
Split methods similar to `AddPeer`/`Register` pair from b104a2ccbc .

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-03-17 16:32:20 +03:00
Pavel Karpy
912eaab8d8 [#198] test: Adopt neotest changes
This reverts commit 8418183498.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2022-01-21 11:03:47 +03:00
Evgenii Stratonikov
676daa1782 [#215] container: remove old estimations when adding new ones
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-01-21 10:39:30 +03:00
Evgenii Stratonikov
7bca6bf782 [#215] container/tests: add tests for container size estimation
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-01-21 10:39:30 +03:00
Evgenii Stratonikov
53f102344f [#215] container/tests: add helper for dummy container creation
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-01-21 10:39:30 +03:00
Alex Vanin
8418183498 Revert "[#198] test: Adopt neotest changes"
This reverts commit 17907f9457.
2022-01-14 10:59:25 +03:00
Pavel Karpy
17907f9457 [#198] test: Adopt neotest changes
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-12-14 14:51:43 +03:00
Alex Vanin
39fc2b8ac4 [#194] container: Fix tests
One can't register domain in advance when zone
owner is container contract.

Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-12-08 18:19:07 +03:00
Pavel Karpy
9b50e1bb88 [#192] processing: Add processing contract test
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-12-07 11:28:51 +03:00
Pavel Karpy
c840498b6f [#192] alphabet: Add alphabet contract tests
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-12-07 11:28:51 +03:00
Pavel Karpy
e14ffbe68b [#192] proxy: Add proxy contract tests
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-12-07 11:28:51 +03:00
Evgenii Stratonikov
b104a2ccbc [#154] netmap: implement Register method
For notary-disabled environment it makes sense to split node
registration and actual candidate update into separate methods.
This way we have less complicate logic in `AddPeer` and overall
registration flow is more understandable.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-12-06 11:03:33 +03:00
Evgenii Stratonikov
4248424a44 nns: disallow conflicting records on register
Require no records '*.domain' to be present when registering domain.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-12-02 14:14:22 +03:00
Evgenii Stratonikov
f12c44fc78 nns: allow to register arbitrary-level domains
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-12-02 14:14:22 +03:00
Evgenii Stratonikov
b2559857f6 [#101] neofs: allow to register multiple candidates per block
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-30 16:24:23 +03:00
Pavel Karpy
2ee2344e5f [#184] *: Move all panics on witness checks in common
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-30 12:14:19 +03:00
Pavel Karpy
ac89694eeb [#184] *: Remove method prefix in panic messages
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-30 12:14:19 +03:00
Evgenii Stratonikov
c7a02f0259 [#180] nns: allow hyphen in names
Both amazon bucket naming rules and DNS label names prohibit hyphen as
first or last character, but allow it in the middle.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-30 11:50:40 +03:00
Pavel Karpy
293ca36ff4 [#174] subnet: Do not panic while doing operation that are already done
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-25 13:02:25 +03:00
Pavel Karpy
76933df0a9 [#174] subnet: Delete method prefix check in error tests
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-25 13:02:25 +03:00
Pavel Karpy
bd2d1cdf86 [#174] subnet: Add comments to version dependent format checks
Also add `groupID` format checks.

Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-25 13:02:25 +03:00
Pavel Karpy
c0636ff0ee [#174] subnet: Make len(subnetID) constant and fix its value
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-25 13:02:25 +03:00
Pavel Karpy
c4ff617525 [#174] subnet: Rename ErrSubNotExist -> ErrNotExist
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-25 13:02:25 +03:00
Pavel Karpy
9e2842b4ad [#174] subnet: Add UserAllowed method
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-25 13:02:25 +03:00
Pavel Karpy
a7a272ad08 [#174] subnet: Add RemoveUser method
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-25 13:02:25 +03:00
Pavel Karpy
9a05e213eb [#174] subnet: Add AddUser method
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-25 13:02:25 +03:00
Pavel Karpy
cc7d98d45e [#174] subnet: Add RemoveClientAdmin method
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-25 13:02:25 +03:00
Pavel Karpy
0d45d83450 [#174] subnet: Add AddClientAdmin method
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-25 13:02:25 +03:00
Pavel Karpy
b5db977e62 [#174] subnet: Add NodeAllowed method
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-25 13:02:25 +03:00
Pavel Karpy
4b47bfadcd [#174] subnet: Add RemoveNode method
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-25 13:02:25 +03:00
Pavel Karpy
18b5e56727 [#174] subnet: Add AddNode method
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-25 13:02:25 +03:00
Pavel Karpy
cee4dd76dc [#174] subnet: Add RemoveNodeAdmin method
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-25 13:02:25 +03:00
Pavel Karpy
df6cc4f8b7 [#174] subnet: Add AddNodeAdmin method
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-25 13:02:25 +03:00
Evgenii Stratonikov
445c0a6087 nns: add test for TLD record registration
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-24 16:38:04 +03:00
Evgenii Stratonikov
870db4a81a [#122] subnet: implement delete method
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-22 10:30:35 +03:00
Evgenii Stratonikov
ed6f90c180 [#122] subnet: implement put method
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-22 10:30:35 +03:00
Evgenii Stratonikov
6250e5eaf7 [#122] subnet: add contract skeleton
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-22 10:30:35 +03:00
Evgenii Stratonikov
75bb382f7b [#101] neofsid: allow to have multiple AddKey per block
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-19 16:06:23 +03:00
Evgenii Stratonikov
c4212e7d2f [#101] reputation: allow Put in multiple tx per block
`listByEpoch` now returns only peer identifiers.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-19 15:23:59 +03:00
Evgenii Stratonikov
99c81fe26a [#165] nns: disallow duplicating records
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-19 10:36:05 +03:00
Evgenii Stratonikov
370720c83b [#161] netmap: fix tests
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-19 09:54:11 +03:00
Leonard Lyubich
68eac87e64 [#154] netmap: allow only alphabet calls in updateState
This reverts commit a9503b5c
2021-11-16 17:26:26 +03:00
Evgenii Stratonikov
8553320e1c [#161] tests: reuse neo-go testing framework
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-15 18:13:24 +03:00
Evgenii Stratonikov
63673a5e54 [#139] nns: allow to resolve FQDN
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-26 14:00:28 +03:00
Evgenii Stratonikov
05d372e882 [#139] nns: check domain expiration for read functions
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-26 14:00:28 +03:00
Evgenii Stratonikov
552def9322 [#139] nns: require admin signature for registering subdomain
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-26 14:00:28 +03:00
Evgenii Stratonikov
e0dbd07f21 [#139] nns: replace root with TLD
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-26 14:00:28 +03:00
Evgenii Stratonikov
2cb10edfd2 [#142] container: do not fail when deleting missing container
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-25 18:10:47 +03:00
Evgenii Stratonikov
6bd088aa9f [#142] container: panic on missing container
Return more descriptive error message for a user.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-25 18:10:47 +03:00
Evgenii Stratonikov
654fc371fd [#142] tests: fix container owner offset
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-25 18:10:47 +03:00
Evgenii Stratonikov
8c8e4a6d85 [#156] container: fix domain owner check
Container contract owns all registered domains.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-22 09:08:13 +03:00
Evgenii Stratonikov
a9503b5cf8 Revert "[#152] netmap: allow only alphabet calls in updateState"
This reverts commit e1ee1c203c.
2021-10-19 17:46:26 +03:00
Evgenii Stratonikov
81c12b3f24 Revert "[#152] netmap: allow only alphabet calls in addPeer"
This reverts commit c008910157.
2021-10-19 17:46:26 +03:00
Evgenii Stratonikov
c5e026c6e7 [#151] netmap: allow to update config values in _deploy
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-19 13:11:53 +03:00
Evgenii Stratonikov
c957b9ca69 [#151] container: require additional fee for nice-name
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-19 13:11:53 +03:00
Evgenii Stratonikov
e1ee1c203c [#152] netmap: allow only alphabet calls in updateState
If notary is enabled only alphabet calls are expected.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-19 12:46:19 +03:00
Evgenii Stratonikov
c008910157 [#152] netmap: allow only alphabet calls in addPeer
If notary is enabled only alphabet calls are expected.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-19 12:46:19 +03:00
Evgenii Stratonikov
a72392f672 [#146] netmap: allow to update peer info
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-19 12:02:19 +03:00
Evgenii Stratonikov
7fe7188e7d [#150] container: allow only alphabet calls in SetEACL
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-19 11:51:16 +03:00
Evgenii Stratonikov
0ef906fb03 [#150] container: allow only alphabet calls in Delete
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-19 11:51:16 +03:00
Evgenii Stratonikov
e5c5cc30c0 [#150] container: make config key public
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-19 11:51:16 +03:00
Evgenii Stratonikov
fef6a6cb36 [#150] container: check domain owner in Put
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-19 11:51:16 +03:00
Evgenii Stratonikov
16f3281198 [#150] tests: add container type in tests
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-19 11:51:16 +03:00
Evgenii Stratonikov
a7601334f7 [#150] container: allow only alphabet calls in Put
For notary-enabled environment we expect `put` to be signed by alphabet.
Also group notary-disabled logic inside a single if and
add tests for balance checks.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-19 11:51:16 +03:00
Evgenii Stratonikov
cd005e54a4 [#135] tests: check container nice-name registration
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-07 12:25:19 +03:00
Evgenii Stratonikov
b5d5963b38 [#135] tests: cache compiled contracts
Speedup tests a bit.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-07 12:25:19 +03:00
Evgenii Stratonikov
6a6d377259 [#137] tests: implement contract testing framework
Create simple running blockchain node with a single validator and
test both contract deployment and method invocations.

Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-10-05 10:01:27 +03:00