Commit graph

560 commits

Author SHA1 Message Date
bce7ef18c8 [#63] frostfsid/client: Support proxy
All checks were successful
DCO action / DCO (pull_request) Successful in 6m14s
Tests / Tests (1.20) (pull_request) Successful in 6m48s
Tests / Tests (1.19) (pull_request) Successful in 6m52s
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
All checks were successful
Tests / Tests (1.19) (pull_request) Successful in 1m27s
DCO action / DCO (pull_request) Successful in 1m36s
Tests / Tests (1.20) (pull_request) Successful in 1m26s
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
All checks were successful
DCO action / DCO (pull_request) Successful in 1m0s
Tests / Tests (1.20) (pull_request) Successful in 1m29s
Tests / Tests (1.19) (pull_request) Successful in 1m35s
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"
Some checks failed
DCO action / DCO (pull_request) Failing after 1m2s
Tests / Tests (1.19) (pull_request) Successful in 1m32s
Tests / Tests (1.20) (pull_request) Successful in 1m32s
This reverts commit bc3186575f.
2023-12-08 11:10:00 +03:00
bc3186575f [#53] proxy: Allow using proxy by trusted accounts
All checks were successful
DCO action / DCO (pull_request) Successful in 1m4s
Tests / Tests (1.20) (pull_request) Successful in 1m25s
Tests / Tests (1.19) (pull_request) Successful in 1m30s
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
All checks were successful
DCO action / DCO (pull_request) Successful in 55s
Tests / Tests (1.20) (pull_request) Successful in 1m17s
Tests / Tests (1.19) (pull_request) Successful in 1m43s
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
21bfe3ebf0 [#52] policy: Regenerate RPC wrapper
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-11-28 12:32:33 +03:00
e56e8d02ee [#52] policy: Add admin
All checks were successful
DCO action / DCO (pull_request) Successful in 57s
Tests / Tests (1.20) (pull_request) Successful in 1m31s
Tests / Tests (1.19) (pull_request) Successful in 1m37s
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-11-24 10:34:22 +03:00
20f86e96b2 [#51] policy: Fix tests
All checks were successful
DCO action / DCO (pull_request) Successful in 1m11s
Tests / Tests (1.19) (pull_request) Successful in 1m30s
Tests / Tests (1.20) (pull_request) Successful in 1m31s
We don't want to return Null from contract when list is empty
because generated policy client cannot parse this.

Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-11-20 15:43:07 +03:00
5cc34f98e9 [#51] policy: Support Get and ListByPrefix methods
Some checks failed
DCO action / DCO (pull_request) Successful in 1m2s
Tests / Tests (1.19) (pull_request) Failing after 1m43s
Tests / Tests (1.20) (pull_request) Failing after 1m42s
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-11-17 14:36:48 +03:00
dd5919348d [#48] frostfsid: Update storage scheme doc
All checks were successful
DCO action / DCO (pull_request) Successful in 58s
Tests / Tests (1.19) (pull_request) Successful in 1m37s
Tests / Tests (1.20) (pull_request) Successful in 1m32s
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-11-09 17:39:25 +03:00
e2e406932f [#48] frostfsid: Support Group updating
All checks were successful
DCO action / DCO (pull_request) Successful in 1m24s
Tests / Tests (1.20) (pull_request) Successful in 2m6s
Tests / Tests (1.19) (pull_request) Successful in 3m14s
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-11-09 16:14:11 +03:00
501b0c5e3c [#48] container: Don't invoke frostfsid contract
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-11-08 15:44:10 +03:00
8affa716e0 [#48] frostfsid: Add client tests
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-11-08 15:44:10 +03:00
95fe7781d5 [#48] frostfsid: Add user-friendly client
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-11-08 15:44:06 +03:00
b76f592095 [#48] Add commonclient package
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-11-08 15:44:01 +03:00
5cc810096f [#48] frostfsid: Add tests
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-11-08 15:40:39 +03:00
c8b14d1376 [#48] frostfsid: Generate wrappers
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-11-08 15:39:21 +03:00
edfab37677 [#48] frostfsid: Update contract
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-11-08 15:39:19 +03:00
0ea65ca637 [#50] Drop audit and reputation contracts
All checks were successful
DCO action / DCO (pull_request) Successful in 1m7s
Tests / Tests (1.20) (pull_request) Successful in 1m11s
Tests / Tests (1.19) (pull_request) Successful in 1m17s
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-11-07 16:20:43 +03:00
d890a7eba4 [#50] Replace interface{} with any
All checks were successful
DCO action / DCO (pull_request) Successful in 1m6s
Tests / Tests (1.19) (pull_request) Successful in 1m17s
Tests / Tests (1.20) (pull_request) Successful in 1m12s
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-11-07 15:18:48 +03:00
dacac0b53d [#50] Makefile: Add code formatting targets
All checks were successful
Tests / Tests (1.19) (pull_request) Successful in 2m48s
DCO action / DCO (pull_request) Successful in 2m53s
Tests / Tests (1.20) (pull_request) Successful in 2m52s
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-11-07 15:00:05 +03:00
6e9c770142 [#50] Drop notaryless deploy parameter
All checks were successful
DCO action / DCO (pull_request) Successful in 1m20s
Tests / Tests (1.20) (pull_request) Successful in 3m13s
Tests / Tests (1.19) (pull_request) Successful in 4m11s
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-11-07 14:56:21 +03:00
09281e3ef3 [#49] go.mod: Bump go version to 1.20
All checks were successful
DCO action / DCO (pull_request) Successful in 1m32s
Tests / Tests (1.20) (pull_request) Successful in 1m49s
Tests / Tests (1.19) (pull_request) Successful in 1m54s
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-11-03 10:38:27 +03:00
9ed3845aa9 [#44] policy: Initial implementation
All checks were successful
DCO action / DCO (pull_request) Successful in 1m7s
Tests / Tests (1.19) (pull_request) Successful in 1m21s
Tests / Tests (1.20) (pull_request) Successful in 1m18s
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-11-02 09:54:36 +03:00
901d5a4083 [#47] Generate RPC bindings to contracts
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-10-31 10:28:38 +00:00
e09df69ffe [#47] go.mod: Update neo-go to v0.103.0
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-10-31 10:28:38 +00:00
e834a66117 [#45] balance: Fix inconsistent fee of transfer operations
All checks were successful
DCO action / DCO (pull_request) Successful in 1m58s
Tests / Tests (1.19) (pull_request) Successful in 2m5s
Tests / Tests (1.20) (pull_request) Successful in 2m5s
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-10-24 13:42:30 +03:00
5124555f05 [#45] nns: Fix inconsistent fee of register operations
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-10-24 13:28:11 +03:00
184fcdc5a7 [#45] container: Add test of inconsistent container creation fee
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-10-24 13:28:11 +03:00
bab6b619d0 [#42] container: Make GAS costs more predictable in Delete()
Persisting a transaction is done in 2 stages:
1. TestInvoke
2. Sign and send to the network.
3. At some point the tx is persisted.
Some time passes between 1 and 3, this could lead to different GAS
costs. It is a known issue for container delete: different epoch can
have different size in bytes and thus different cost to store.
Here we introduce fixed-length encoding for integers, so that the
problem can be avoided.

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-10-24 13:28:10 +03:00
2be81b1def [#42] common: Add routines for fixed-width uint64 marshaling
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-10-24 13:28:10 +03:00
ab0a899a28 [#42] container: Add failing tests for different epoch deletion
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-10-24 13:28:10 +03:00
0b3ea05f76 [#43] .forgejo: Name all actions
All checks were successful
DCO action / DCO (pull_request) Successful in 58s
Tests / Tests (1.20) (pull_request) Successful in 57s
Tests / Tests (1.19) (pull_request) Successful in 3m15s
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-10-06 09:36:46 +03:00
c13c01a5c0 [#43] .forgejo: Fix dco action
All checks were successful
/ DCO (pull_request) Successful in 55s
/ Tests (1.19) (pull_request) Successful in 3m25s
/ Tests (1.20) (pull_request) Successful in 59s
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-10-06 09:31:29 +03:00
1777c93c9e Release v0.18.0
Some checks failed
/ DCO (pull_request) Failing after 4s
/ Tests (1.19) (pull_request) Successful in 52s
/ Tests (1.20) (pull_request) Successful in 3m41s
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-09-14 13:33:12 +03:00
45c3710bd2 [#38] .forgejo: Update DCO action
Some checks failed
/ DCO (pull_request) Failing after 4s
/ Tests (1.19) (pull_request) Successful in 3m31s
/ Tests (1.20) (pull_request) Successful in 3m34s
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-08-17 15:31:34 +03:00
391c1cb5d4 [#38] container: Fix DelInfo owner type
Some checks failed
/ Tests (1.19) (pull_request) Successful in 1m19s
/ Tests (1.20) (pull_request) Successful in 1m14s
/ DCO (pull_request) Failing after 2m7s
It is not a 20-byte scripthash, it is a 25-byte slice
(prefix + script-hash + checksum).

Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-08-11 16:18:01 +03:00