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
391c1cb5d4
[ #38 ] container: Fix DelInfo owner type
...
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
c6a7820363
container: Add DeletionInfo() method
...
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-08-10 17:13:07 +00:00
6e8ae742ae
*: Use multiline lists in yaml config
...
It is quite hard to navigate in a single-line list of length 10.
Viewing diffs is also more pleasant when a single line has added.
Also, sort everything by alphabet.
Signed-off-by: Evgenii Stratonikov <e.stratonikov@yadro.com>
2023-08-10 17:13:07 +00:00
bcf22c50a1
[ #10 ] Use UpdateWithData call wrapper in Update methods
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-06-19 11:17:51 +03:00
2da0ff5750
[ #27 ] Add public key as argument for container_contract.Delete() method
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-06-01 14:08:21 +03:00
b89c3fd584
[ #23 ] Remove unused notifications from container
contract
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-05-18 08:25:32 +00:00
f786040322
[ #1 ] container: Update domain email after rebranding
...
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-05-17 10:52:09 +03:00
a8029c71cd
[ #21 ] Document contract storage schemes
...
Signed-off-by: Airat Arifullin a.arifullin@yadro.com
2023-05-12 14:51:21 +03:00
b9be2ac036
[ #7 ] Refactor common.CheckAlphabetWitness()
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-03-14 12:09:24 +03:00
d8530284fd
[ #7 ] Remove notary disabled code
...
Signed-off-by: Anton Nikiforov <an.nikiforov@yadro.com>
2023-03-14 12:09:22 +03:00
d626660c1a
[ #12 ] Use non-specific contract names
...
Allows easier project name updates in the future.
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-03-09 19:56:33 +00:00
19a8ef2d02
Rename package name
...
Due to source code relocation from GitHub.
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-03-07 14:06:21 +03:00
Evgenii Stratonikov
4f3c08f552
[ #300 ] container: Allow to iterate over container list
...
Signed-off-by: Evgenii Stratonikov <evgeniy@morphbits.ru>
2023-01-16 14:40:21 +03:00
03bff785d2
[ #293 ] container: Add IterateContainerSizes method
...
Add method that allows to iterate over estimation records.
Update tests to assert that list of estimations built with existing methods
is identical to estimations from iterator.
Signed-off-by: Vladimir Domnich <v.domnich@yadro.com>
2023-01-16 14:40:21 +03:00
1a4fa7e421
[ #296 ] container: Increase default expiration time
...
Signed-off-by: Alex Vanin <a.vanin@yadro.com>
2023-01-16 14:40:21 +03:00
9c004cab2e
[TrueCloudLab#3] container: Rename neofs to frostfs
...
Signed-off-by: Denis Kirillov <d.kirillov@yadro.com>
2023-01-11 17:19:35 +03:00
Evgenii Stratonikov
6c805c1b4e
Move from nspcc-dev to TrueCloudLab
...
Signed-off-by: Evgenii Stratonikov <evgeniy@morphbits.ru>
2022-12-13 11:12:48 +03:00
Evgenii Stratonikov
8ca71d22b2
*: goimports -w
...
Signed-off-by: Evgenii Stratonikov <evgeniy@morphbits.ru>
2022-12-13 11:12:48 +03:00
Anna Shaleva
70ae2c94e1
[ #265 ] container: Adjust container-contract permissions
...
Remove "addRoot" method from the list of allowed methods, because
NNS doesn't have it since
4b86891d57
.
2022-09-07 12:16:49 +03:00
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
fd70f28b47
[ #236 ] *: Notify user on success
...
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>
2022-04-13 12:14:35 +03:00
Alex Vanin
2b624a38cc
[ #231 ] Remove previous contract update code
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2022-03-23 18:48:14 +03:00
Evgenii Stratonikov
03afb80a14
[ #222 ] *: Replace IRNode with raw public keys
...
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>
2022-03-23 11:33:27 +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
72da098876
[ #215 ] container: remove old estimations without intermediate array
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-01-21 10:39:30 +03:00
Evgenii Stratonikov
74cc2d0aea
[ #204 ] *: check contract version during update
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2022-01-11 11:55:04 +03:00
Evgenii Stratonikov
1944a4332b
[ #202 ] *: remove owner from contract storage
...
It is no longer used and should've be removed on update.
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-12-28 13:32:28 +03:00
Alex Vanin
9350d027cf
[ #194 ] container: Register TLD with contract as owner
...
When notary disabled, there is no committee multi signature
for named container creation. Therefore, zone owner should be
the contract itself.
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-12-08 18:19:07 +03:00
Alex Vanin
51cf10a734
Remove redundant updates
...
Signed-off-by: Alex Vanin <alexey@nspcc.ru>
2021-12-07 15:57:31 +03:00
Pavel Karpy
e6a33e8193
[ #185 ] *: Use storage.DeserializeValues
flag for search
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-12-02 13:09:50 +03:00
Pavel Karpy
23d9799e51
[ #185 ] *: Use neo-go's interop
constants instead of local
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-12-02 13:09:50 +03:00
Pavel Karpy
f78a0e32b8
[ #185 ] *: Cast args of _deploy
method to struct
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-12-02 13:09:50 +03:00
Pavel Karpy
27c97237cf
[ #184 ] *: Delete method prefix from runtime.Log()
...
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-30 12:14:19 +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
Pavel Karpy
4961e9b436
[ #186 ] *: Add // V2 format
comment
...
Add `// V2 format` comment to V2 specific code
in contracts. In `subnet` contract change comment
to sync with other.
Signed-off-by: Pavel Karpy <carpawell@nspcc.ru>
2021-11-30 11:51:01 +03:00
Evgenii Stratonikov
f0868c89fd
[ #181 ] container: setup nns keys during update
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-26 11:07:38 +03:00
Evgenii Stratonikov
da7f7eb88f
[ #164 ] *: provide version as the last argument
...
Signed-off-by: Evgenii Stratonikov <evgeniy@nspcc.ru>
2021-11-19 13:38:15 +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
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
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
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