ba7329c3a7
[ #103 ] common: Disallow downgrading contracts
...
`PrevVersion` marks suitable version that we can upgrade from.
However, we can have multiple minor versions, so, currently an upgrade
from v0.19.3 to v0.19.1 is possible. Prevent this with an additional
check.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-08-19 13:57:03 +03:00
82e04b6c32
[ #102 ] nns: Support global domain
...
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2024-08-16 16:38:54 +03:00
b2eb585bb6
[ #102 ] nns: Support global domain
...
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2024-08-16 16:37:17 +03:00
49e5270f67
[ #92 ] nns: Mention domain in panic messages
...
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2024-06-21 16:12:49 +03:00
2aba66806c
[ #93 ] frostfsid: Move struct parsers to separate file
...
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2024-06-21 14:33:04 +03:00
ba4ef7bd22
[ #89 ] frostfsid: Add description for FrostFS ID
...
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2024-05-24 21:32:20 +03:00
db36131800
[ #90 ] policy: Add constants for more targets
...
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2024-04-17 11:01:07 +03:00
a3d5e02f20
[ #81 ] Add domain in the error message in NNS
...
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2024-04-16 18:05:46 +03:00
6eb492025b
[ #86 ] .forgejo: Update go version
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-04-09 14:57:29 +03:00
1addbfef2d
[ #86 ] .forgejo: Update DCO action version
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-04-09 14:57:29 +03:00
e7a05a49ff
[#XX] client: Terminate session in ReadIteratorItems
...
* Make an invoker terminate session by its ID before return, otherwise,
it may lead to `max session capacity reached error`.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-04-09 14:15:39 +03:00
694daebb19
[ #84 ] policy: Fix IteratorChainsByPrefix method
...
* If numeric mapping does not exists, then assign id to 0.
* Add check to unit-test.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-04-04 15:43:19 +03:00
2574b2840e
[ #84 ] rpcclient: Regenerate interface for Policy
...
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-04-04 10:26:28 +03:00
42344eaa69
[ #83 ] container: Remove outdated migration code
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-03-14 10:03:23 +03:00
e27b8ad306
[ #83 ] policy: Allow to update contract
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-03-14 10:03:23 +03:00
5119f655fe
[ #82 ] common: Update version
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-03-13 20:57:09 +03:00
c9c53bb9ec
[ #17 ] frostfs: Remove method alphabetAddress
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2024-03-05 12:59:03 +03:00
43c90af97d
[ #78 ] policy: Fix counter key prefix name
...
* Fix counterKey: "counter" may conflict with 'c' prefix.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-02-20 11:58:33 +03:00
d9f523ee07
[ #78 ] policy: Introduce ListTargets method for Policy contract
...
* Introduce a new method ListTargets that lists targets by kind.
* Slightly fix key mapping - also concatenate kind to prefix.
* Write unit-tests.
* Regenerate rpcclient.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-02-20 11:57:34 +03:00
55a4163951
[ #76 ] frostfsid: Add GetGroupByName method
...
Signed-off-by: Marina Biryukova <m.biryukova@yadro.com>
2024-02-01 16:06:17 +03:00
6e72d0b3b4
[ #75 ] policy: Fix compiler error
...
Refs #71
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-01-30 16:37:37 +03:00
e0f6fe3bc9
[ #61 ] policy: Shorten policy contract keys
...
* Map long entity names to 8-bytes long numbers.
* Add desctiption to docs.
Signed-off-by: Airat Arifullin <a.arifullin@yadro.com>
2024-01-30 12:27:57 +00:00
074a241272
[ #74 ] proxy: Allow to own NNS domains
...
Because `Verify` is flexible enough, any funds transferred to the proxy
contract can be moved out with the help of the committee. Thus,
implementing onNEP11Payment() is enough.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-01-29 14:03:06 +03:00
2efebf4206
[ #74 ] tests: Do not compile proxy contract twice
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-01-29 14:02:18 +03:00
60e8abbf49
[ #74 ] tests: Actualize proxy contract deploy parameters
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-01-29 14:02:18 +03:00
93781f1149
[ #66 ] policy: Support IteratorChainsByPrefix method
...
Signed-off-by: Alexander Chuprov <a.chuprov@yadro.com>
2024-01-26 17:41:04 +03:00
da8ec5b447
[ #73 ] nns: Allow 2-byte domain names
...
frostfs-node uses `.ns` domain, must be supported.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-01-25 16:21:58 +03:00
f2a82aa635
[ #69 ] frostfsid: Add new client init function
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2024-01-15 11:29:15 +03:00
a7c45fdd0d
[ #68 ] policy: Add Version() method
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-01-11 15:39:19 +03:00
5363aaf16a
[ #68 ] rpcclient: Regenerate wrappers after neo-go update
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2024-01-11 15:39:19 +03:00
86e6d4d334
[ #64 ] commonclient: Use partial unwrap in ReadIteratorItems()
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-12-29 14:06:46 +00:00
8c7925d3c0
[ #64 ] go.mod: Update neo-go
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-12-29 14:06:46 +00:00
bce7ef18c8
[ #63 ] frostfsid/client: Support proxy
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-12-18 11:43:46 +03:00
23e85d11c4
[ #53 ] proxy: Allow using proxy by trusted accounts
...
It was reverted because `Verify` with arguments was not well supported
by the client software. Thanks to recent `System.Runtime.CurrentSigners`
call from neo-go v0.104.0 we can take the best of both worlds.
Verify with argument still looks better (less overhead), but this
implementation should work too. Sadly, `overloads` are not of much use
here because verification routines take the _first_ method from the
manifest, albeit with arbitrary number of arguments.
This reverts commit a0b73150c6
with some
changes on-top.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-12-15 14:34:26 +03:00
4dcb575caa
[ #56 ] Add multi-level domain name support
...
Signed-off-by: Ekaterina Lebedeva <ekaterina.lebedeva@yadro.com>
2023-12-13 15:22:12 +03:00
897f538a3c
[ #48 ] frostfsid: add GetSubjectByName method
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-12-11 09:36:47 +00:00
3fb511ac15
[ #48 ] frostfsid: Support empty namespaces
...
Require ns to create subject.
Since we don't allow move subject from one ns to another -
drop add/remove subject to/from namespace
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-12-11 09:36:47 +00:00
a0b73150c6
Revert "[ #53 ] proxy: Allow using proxy by trusted accounts"
...
This reverts commit bc3186575f
.
2023-12-08 11:10:00 +03:00
bc3186575f
[ #53 ] proxy: Allow using proxy by trusted accounts
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-12-07 10:22:47 +03:00
d7cb550a5e
[ #53 ] common: Use interop.Hash160 in address producing functions
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-12-06 19:47:43 +03:00
91b36a7eb3
[ #53 ] go.mod: Update neo-go to the laster master
...
Pickup new neotest features.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-12-06 19:47:43 +03:00
94cd3dca83
[ #53 ] go.mod: Resolve ambiguous import
...
There was a problem with `go mod tidy`.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-12-06 19:47:15 +03:00
a1b61d3949
[ #55 ] Makefile: Add config.yml to NEF dependencies
...
It can affects manifest, so recompilation is needed.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-11-29 09:22:01 +03:00
f28d918727
[ #55 ] frostfsid: Add missing safe methods
...
All of them can be called in read-only context.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-11-29 09:22:01 +03:00
7864fc3c4d
[ #55 ] policy: Fix typo in ErrNotAuthorized
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-11-29 09:21:58 +03:00
edf3c26047
[ #54 ] policy: Accept []byte as name
...
Strings cannot contain non-UTF8 bytes, this is ensured in JSON
marshaling/unmarshaling. At the same time using human-readable strings
can be rather restrictive, because we have 64-byte key limit.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-11-28 13:49:57 +03:00
f30fb324ff
[ #55 ] policy: Swap signature check order
...
While implementing the changes for FrostFS ID it became obvious, that
committee signature check can be rather costly (`getCommittee` call +
multiaddress construction + checking witness). In real scenarious it
will mostly fail, so it makes sense do it last.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-11-28 13:49:57 +03:00
0dda536d4a
[ #55 ] policy: Fix admin processing in _deploy
...
Refactoring remnants, there is a single admin now.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-11-28 13:49:57 +03:00
43097d2152
[ #55 ] frostfsid: Use single admin instead of many
...
Autorization can be dedicated to a separate contract, iterating over
multiple keys can be costly. Also add committee as "default" admin:
everything is allowed for it.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-11-28 13:49:56 +03:00
03d0c10852
[ #55 ] Apply gofumpt
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-11-28 12:32:33 +03:00