Anna Shaleva
9834b83cf0
Merge pull request #3750 from nspcc-dev/removeuntraceableheaders
...
RemoveUntraceableHeaders
2024-12-13 16:30:31 +03:00
Roman Khimov
c7f5f173ae
core: introduce RemoveUntraceableHeaders
...
With blocks available from NeoFS we can drop them from the local DB.
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2024-12-13 16:09:00 +03:00
Ekaterina Pavlova
c79ffa967f
services: add default values for NeoFSBlockFetcher configuration
...
The minimum sufficient configuration is Addresses and ContainerID,
example:
```
NeoFSBlockFetcher:
Enabled: true
Addresses:
- st1.storage.fs.neo.org:8080
- st2.storage.fs.neo.org:8080
- st3.storage.fs.neo.org:8080
- st4.storage.fs.neo.org:8080
ContainerID: "87JRc7vyWcjW8uS32LMoLTAj4ckCzFZWfKbacjU3sAob"
```
Close #3718
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-12-13 11:39:22 +03:00
Anna Shaleva
6d1eea307b
Merge pull request #3696 from nspcc-dev/basic-chain-tests
...
basicchain: use UnitTestNet default config for generation
2024-12-12 10:51:42 +03:00
Roman Khimov
a164db92cc
config: replace LatestHardfork() with HFLatestStable
...
Function doesn't make much sense here. The change is rather trivial and this
is not expected to be used by external code, so no deprecation.
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2024-12-06 12:24:00 +03:00
Roman Khimov
981ae10091
config: declare and use the latest stable hardfork
...
Differentiate released and stable ones from test-only not-yet-ready and such.
Enabled only stable ones by default to avoid surprises in private networks
when some beta hardfork is made available with some node release.
Fixes #3719 .
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2024-12-06 12:23:46 +03:00
Ekaterina Pavlova
8fe2ae8437
config: add UnitTestNet configuration to embed configs
...
Tests should use embed config too.
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-11-22 11:55:51 +03:00
Ekaterina Pavlova
0b31a29f39
services: add new service for fetching blocks from NeoFS
...
Close #3496
Co-authored-by: Anna Shaleva <shaleva.ann@nspcc.ru>
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-09-11 08:50:31 +04:00
Roman Khimov
a1a7e3d708
*: use slices package for sorting and searching
...
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2024-08-27 12:29:44 +03:00
Roman Khimov
de665b5567
*: use slices.Sort() where appropriate
...
It's always faster for simple types.
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2024-08-27 08:24:52 +03:00
Roman Khimov
9cce148d83
*: use maps.Equal/slices.Equal where appropriate
...
Testing for equality has never been easier.
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2024-08-27 08:24:52 +03:00
Roman Khimov
9e112fc024
*: use slices.Clone instead of make/copy
...
It's much easier this way.
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2024-08-24 22:41:48 +03:00
Anna Shaleva
2c24cb342e
core: introduce Echidna hardfork
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2024-08-12 11:10:26 +03:00
Ekaterina Pavlova
ef20ba3701
netmode: add constant MainNetNeoFS and TestNetNeoFS
...
Extend netmode package with NeoFS chains IDs.
Close #3503
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-07-31 11:02:17 +08:00
Anna Shaleva
ed9817d35b
config: get back default node configuration values
...
This code was accidentally removed by
https://github.com/nspcc-dev/neo-go/pull/3477 , it's important to have
these fields set by default.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2024-07-05 13:31:25 +03:00
Ekaterina Pavlova
a9abd84cc4
cli: add embedded node config
...
If `config-path` is not passed, default configs are used according to
the set network. In VM CLI the default privnet config with InMemory db
is used.
Close #3450
Close #3459
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-07-01 10:59:11 +03:00
Anna Shaleva
8f70d05f85
docs: add a note about System.Runtime.GetNotifications refcounting
...
Add a note about System.Runtime.GetNotifications refcounting to Domovoi
hardfork. Ref. https://github.com/neo-project/neo/pull/3301 and
https://github.com/nspcc-dev/neo-go/pull/3485 .
Although NeoGo doesn't have anything to be updated, there's a
behaviour difference between C# and Go nodes before Domovoi hardfork, it
deserves a comment.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2024-06-11 19:26:11 +03:00
Anna Shaleva
a7aceca74a
interop: use currently executing contract state for permissions check
...
It's not correct to use an updated contract state got from Management to
check for the allowed method call. We need to use manifest from the
currently executing context for that. It may be critical for cases when
executing contract is being updated firstly, and after that calls
another contract. So we need an old (executing) contract manifest for
this check.
This change likely does not affect the mainnet's state since it's hard
to meet the trigger criteria, but I'd put it under the hardfork anyway.
Ref. https://github.com/neo-project/neo/pull/3290 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2024-06-11 19:13:17 +03:00
Anna Shaleva
e5a6e9ca32
core: introduce D hardfork
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2024-06-05 19:20:04 +03:00
Anna Shaleva
5c75ee13d0
config, native: introduce Cockatrice hard-fork
...
With all associated native API changes ported from
https://github.com/neo-project/neo/pull/2925 and
https://github.com/neo-project/neo/pull/3154 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2024-04-25 13:26:54 +03:00
Anna Shaleva
3a2e301267
native: make HF-specific MD cache less lazy
...
Initialize all necessary HF-specific contract descriptors once during
contract construction.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2024-04-25 13:26:54 +03:00
Anna Shaleva
d62fad1268
native: implement HF-based update
...
A part of #3213 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2024-04-25 13:16:42 +03:00
Ekaterina Pavlova
ae3515e819
crypto: add StringCompressed() for PublicKey
...
Add StringCompressed to get a string representation of the key in
compressed form.
Close #3263
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-04-11 15:24:46 +03:00
Ekaterina Pavlova
5f745dff72
config: update validation with check committee
...
ProtocolConfiguration section must include stand by committee and the
number of validators or committee/validators history.
Close #3247
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2024-01-22 10:25:23 +03:00
Anna Shaleva
5d1e0192f1
Merge pull request #3206 from nspcc-dev/relative_path_flag
...
cli: add --relative-path option
2023-11-24 08:16:16 +03:00
Ekaterina Pavlova
f457d50773
cli: add --relative-path option
...
To be able running the node from any working directory by simply
pointing the relative-path as prefix for relative parameters set in
config.
Closes #3179 .
Signed-off-by: Ekaterina Pavlova <ekt@morphbits.io>
2023-11-23 21:41:50 +04:00
Anna Shaleva
d511f6e5a9
confi: add MaxRequestHeaderBytes RPC configuration option
...
A part of #3131 , follow the notion of https://github.com/neo-project/neo-modules/pull/827 ,
but don't restrict request line size due to https://github.com/golang/go/issues/15494 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-11-23 20:17:49 +03:00
Anna Shaleva
802d8d24b9
config: add MaxRequestBodySize RPC configuration option
...
A part of #3131 , follow the https://github.com/neo-project/neo-modules/pull/827 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-11-23 20:17:49 +03:00
Anna Shaleva
58102a9a80
*: move NativeUpdateHistory logic under Hardforks management
...
Close #3196 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-11-21 14:05:28 +03:00
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
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
Roman Khimov
460362ab2e
config: drop deprecated Protocol configurations
...
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2023-10-10 13:26:07 +03:00
Roman Khimov
9f7b19f886
config: drop implicit consensus config via UnlockWallet
...
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2023-10-10 13:26:07 +03:00
Roman Khimov
6865848ca7
config: drop deprecated P2P configuration
...
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2023-10-10 13:26:07 +03:00
Roman Khimov
de69560c7d
config: drop deprecated address/port configurations
...
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2023-10-10 13:26:07 +03:00
Roman Khimov
a59afa8ea3
config: drop obsolete SecondsPerBlock protocol configuration
...
Signed-off-by: Roman Khimov <roman@nspcc.ru>
2023-10-10 13:26:07 +03:00
Anna Shaleva
b89078c42a
rpcsrv: set MaxNEP11Tokens to default if not specified
...
Do not use RPC configuration constructor for this, some external services
may skip this part.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-29 13:26:10 +03:00
Anna Shaleva
f5b0489d74
rpcsrv: set MaxFindStorageResultItems to default if not specified
...
Do not use RPC configuration constructor for this, some external services
may skip this part.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-29 13:26:10 +03:00
Anna Shaleva
dd7c762ff9
rpcsrv: set MaxFindResultItems to default if not specified
...
Do not use RPC configuration constructor for this, some external services
may skip this part.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-29 13:26:10 +03:00
Anna Shaleva
97a57de82d
rpcsrv: set MaxIteratorResultItems to default if not specified
...
Do not use RPC configuration constructor for this, some external services
may skip this part.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-29 13:19:39 +03:00
Anna Shaleva
5d3938ae23
core: adjust hardfork enabling logic
...
Follow the logic described in https://github.com/neo-project/neo/pull/2886#issuecomment-1674745298
and port the https://github.com/neo-project/neo/pull/2886 .
Close #3096 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-25 18:24:15 +03:00
Anna Shaleva
617c628c24
rpcsrv, rpcclient: support findstorage
and findstoragehistoric
...
Close #3095 and add the corresponding historic extension.
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-24 17:15:58 +03:00
Anna Shaleva
2872c1c668
core: move contract notifications check under HFBasilisk
...
Follow the https://github.com/neo-project/neo/pull/2884 .
A part of the https://github.com/neo-project/neo/pull/2810 .
Fix failing tests along the way (a lot of them have invalid notifications
format which differs from the one declared in manifest).
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-18 16:40:20 +03:00
Anna Shaleva
624f193f94
vm: move JNumbers parsing precision under HFBasilisk
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-10 13:14:16 +03:00
Anna Shaleva
50ee241377
core: move strict script check on deploy under HF condition
...
Follow the https://github.com/neo-project/neo/pull/2881 .
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-08-09 18:32:30 +03:00
Anna Shaleva
a74454aaca
config: do not allow negative validators count
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-04-13 13:43:14 +03:00
Anna Shaleva
0c049f620f
config: do not allow zero numbers for validators/committee history
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-04-13 13:42:41 +03:00
Anna Shaleva
8149d33fef
config: use uint32 for validators/committee members count
...
Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-04-13 13:42:40 +03:00