Anna Shaleva
63de821ff4
config: forbid unknown YAML configuration fields
...
Close #3128 and fix one of the privnet configurations along the way.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-11-20 20:04:09 +03:00
Anna Shaleva
a4779de375
core: improve TestConfigNativeUpdateHistory subtests naming
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-11-20 20:03:28 +03:00
Roman Khimov
f6cb698cd1
rpcsrv/params: limit tx signers/witnesses
...
Inspired by https://github.com/neo-project/neo-modules/pull/845 .
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2023-11-20 16:01:14 +03:00
Roman Khimov
7fb077e999
Merge pull request #3186 from nspcc-dev/reduce-max-nef-size
...
Restrict maximum serialized NEF file size
2023-11-20 15:19:40 +03:00
Anna Shaleva
90705e37e9
compiler: perform NEF size check on serialization
...
Retun an error if the serialized NEF size exceeds stackitem.MaxSize.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-11-20 15:14:05 +03:00
Anna Shaleva
e63a93b8a0
compiler: add tests for System.Runtime.CurrentSigners
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-11-20 14:49:07 +03:00
Anna Shaleva
2fba04490a
core: add System.Runtime.CurrentSigners syscall
...
Port the https://github.com/neo-project/neo/pull/2827 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-11-20 14:46:27 +03:00
Anna Shaleva
90b01bcea6
core: move SignersToStackItem to transaction package
...
It will be reused from interops.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-11-20 14:46:27 +03:00
Anna Shaleva
14d98811a5
smartcontract: restrict maximum NEF file size on deserialisation
...
Port https://github.com/neo-project/neo/pull/2939 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-11-20 14:32:32 +03:00
Anna Shaleva
fdcc369d60
manifest: add compatibility test for Permissions and Trust serialization
...
We already have tests for Permission deserialisation, so port the first
part of https://github.com/neo-project/neo/pull/2948 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-11-18 13:32:28 +03:00
Roman Khimov
de2a445088
Merge pull request #3185 from nspcc-dev/fix-stackitem-limits
...
vm: reduce maximum stckitem size
2023-11-13 22:53:19 +03:00
Anna Shaleva
b0cdae4666
vm: reduce maximum stckitem size
...
To prevent possible DoS. Port the https://github.com/neo-project/neo-vm/pull/514 ,
close #3170 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-11-13 20:40:30 +03:00
Anna Shaleva
963a22e280
neorpc: adjust common error messages
...
According to the initial proposal and
https://github.com/neo-project/proposals/pull/156/files#diff-2b5f7c12a23f7dbe4cb46bbf4be6936882f8e0f0b3a4db9d8c58eb294b02e6ed .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-11-13 20:29:13 +03:00
Roman Khimov
7045d3bd63
Merge pull request #3192 from nspcc-dev/rpc-err
...
neorpc: ensure errors.Is and errors.As work properly with neorpc.Error
2023-11-08 09:34:05 +03:00
Anna Shaleva
fca7eb35a1
neorpc: ensure errors.Is and errors.As work properly with neorpc.Error
...
Close #3188 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-11-07 23:59:53 +03:00
Anna Shaleva
b4866bd69e
native: prohibit NEP-17 roundtrip with zero balance
...
Close #3190 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-11-07 19:37:37 +03:00
Anna Shaleva
ba4c58780c
native: optimize policy check for transaction's signers
...
Do not retrieve RO cache for each signer, make it ones per transaction
instead.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-11-03 10:29:47 +03:00
Anna Shaleva
de38163f89
core: log block height before MPT/natives cache initialization
...
We have this log on the network server side, but it would also be
useful in case of failed blockchain initialization.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-11-03 10:29:46 +03:00
Anna Shaleva
bbbc6805a8
native: fix NeoToken initialization process
...
Refactored native NeoToken cache scheme introduced in #3110 sometimes requires
validators list recalculation during native cache initialization process (when
initializing with the existing storage from the block that is preceded each N-th block).
To recalculate validators from candidates, native NeoToken needs an access to
cached native Policy blocked accounts. By the moment of native Neo initialization,
the cache of native Policy is not yet initialized, thus we need a direct DAO access
for Policy to handle blocked account check.
Close #3181 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-11-02 17:56:02 +03:00
Anna Shaleva
91c8aa21cc
core: fix typo in comment
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-11-02 17:15:34 +03:00
Roman Khimov
dffd87c6c8
Merge pull request #3171 from nspcc-dev/fix-linter
...
Fix linter problems
2023-10-20 21:14:41 +03:00
Anna Shaleva
7a6b908cae
neorpc: fix exported structure comment
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-20 19:31:23 +03:00
Roman Khimov
c3955f87d1
Merge pull request #3165 from nspcc-dev/fix-win-timeout
...
Improve timeout of RPC tests on Windows
2023-10-20 19:07:24 +03:00
Anna Shaleva
3544d65ecd
rpcclient: disable linter for documentation example
...
Disable the following linter warning:
```
superfluous-else: if block ends with call to panic function, so drop this else and outdent its block (revive)
```
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-20 17:28:57 +03:00
Anna Shaleva
6e0af5ac90
network: fix linter warning
...
Fix the following linter warning:
```
dot-imports: should not use dot imports (revive)
```
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-20 17:23:35 +03:00
Anna Shaleva
39ce3a9d1d
vm: fix linter warning
...
Fix the following linter warning:
```
indent-error-flow: if block ends with a return statement, so drop this else and outdent its block (move short variable declaration to its own line if necessary) (revive)
```
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-20 17:22:21 +03:00
Anna Shaleva
c93658b1c1
Partially revert "*: use localhost address instead of 127.0.0.1, fix #2575 "
...
This partially reverts commit c26a962b55
for testing
chains configurations.
Ref. #2975 , although this commit doesn't close it. This commit is an attempt to
enforce IPv4 for our test clients to avoid problem described in the issue.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-20 17:17:37 +03:00
Anna Shaleva
8cc32a91b6
*: add GenesisTransaction extension to the protocol configuration
...
Provide a script that should be deployed in the genesis block.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-19 18:33:50 +03:00
Anna Shaleva
065bd3f0be
*: introduce Genesis protocol configuration
...
This section contains genesis-related settings including genesis-related or natives-related
extensions. Currently it includes the set of node roles that may be designated
duing the native Designation contract initialisation.
Close #3156 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-19 18:30:20 +03:00
Anna Shaleva
1815bc8a32
*: update Stringers wrt fresh Stringer version
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-19 11:33:07 +03:00
Anna Shaleva
61a74ab331
native: introduce Stringer for noderoles types
...
And rename roles.go to role.go to match the role_string.go and the
existing naming pattern for enums.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-19 11:33:04 +03:00
Roman Khimov
04d778612e
Merge pull request #3167 from nspcc-dev/autogen-warn
...
smartcontract: add `DO NOT EDIT` warning to autogenerated files
2023-10-18 21:35:20 +03:00
Anna Shaleva
6476241b3a
smartcontract: add DO NOT EDIT
warning to autogenerated files
...
Close #3139 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-18 20:34:36 +03:00
Anna Shaleva
1841d818ec
rpcclient: always provide start
parameter for findstorage
RPC
...
Close #3137 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-18 20:12:05 +03:00
Anna Shaleva
6a706d5c5a
rpcbinding: fix formatting of binding template
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-18 18:15:33 +03:00
Anna Shaleva
c42486587d
smartcontract: apply gofmt to the resulting bindings
...
Close #3133 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-18 18:14:52 +03:00
Roman Khimov
38f77c39d0
Merge pull request #3142 from Ayrtat/fix/wsclient_hang
...
rpcclient: fix wsclient hang on making request
2023-10-16 15:26:13 +03:00
Anna Shaleva
545dbbc668
go.mod: upgrade gnark to v0.9.0
...
Close #3079 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-16 15:06:30 +03:00
Ayrtat
ff19189937
rpcclient: fix #3135 wsclient hangs on making request
...
* Rename c.done channel to c.readerDone
* Introduce c.writerDone channel that is closed if the wsWriter's loop
is done
* Make the error returned by makeWsRequests verbose
Signed-off-by: Ayrtat <amper.meter1775@gmail.com>
2023-10-16 13:01:12 +03:00
Roman Khimov
a9a848a306
Merge pull request #3160 from nspcc-dev/add-version-hf
...
rpcsrv: add hardforks to `getversion` response
2023-10-16 10:37:10 +03:00
Anna Shaleva
69a0104d05
rpcsrv: add hardforks to getversion
response
...
Port https://github.com/neo-project/neo-modules/pull/823 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-16 10:33:21 +03:00
Anna Shaleva
3aa858a69f
*: drop go 1.18 support in doc and build targets
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-12 17:59:42 +03:00
Anna Shaleva
241d5f593e
*: use methods of binary.AppendByteOrder where applicable
...
We often use binary.PutUint*, but almost all these cases have preallocated
buffer of the size that matches exactly the desired one and use a single or
a couple of calls to PutUint*. Thus, I don't think that replacing
binary.PutUint* by AppendUint* will make things better for all these usages.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-12 17:59:42 +03:00
Anna Shaleva
dc3d1300dd
*: replace go.uber.org/atomic with sync/atomic
...
Use sync/atomic everywhere and exclude go.uber.org/atomic from go.mod.
Close #2626 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-12 17:59:34 +03:00
Anna Shaleva
7ca4ce0f79
core: fix race in stateroot initialization error logging
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-12 13:37:31 +03:00
Anna Shaleva
995d774ff8
*: bump minimum required go version to 1.19
...
For all components.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-12 13:28:59 +03:00
Anna Shaleva
e6b4fbc999
rpcsrv: format code
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-12 13:28:59 +03:00
Anna Shaleva
32bfed4741
core: improve conflict records storage scheme
...
Implement the https://github.com/neo-project/neo/issues/2907#issuecomment-1722506014
and port a part of https://github.com/neo-project/neo/pull/2913 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-10-10 17:34:27 +03:00
Roman Khimov
2f747dd8d9
Merge pull request #3150 from nspcc-dev/drop-deprecated
...
Drop deprecated things
2023-10-10 14:29:47 +03:00
Roman Khimov
460362ab2e
config: drop deprecated Protocol configurations
...
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2023-10-10 13:26:07 +03:00