neoneo-go/pkg/core/native
Anna Shaleva d7d850ac7d native: never set Neo's newEpoch* cache values to nil
We have cache update mechanism (Neo's cache votesChanged flag), it must
be used for current epoch and new epoch cached values update. And the
cached current/new epoch values themselves must always contain valid
information for the current/new epoch. These cached values must only be
changed once per epoch, never set them to nil.

This commit prevents CN node panic described in  when dBFT tries
to retrieve new epoch validators with some votes modifications made
before at the same dBFT epoch.

Close .

Signed-off-by: Anna Shaleva <shaleva.ann@nspcc.ru>
2023-12-21 17:56:07 +03:00
..
native_test neotest: Add contract signer support 2023-12-01 10:50:08 +03:00
nativenames [] English Check 2022-05-04 19:48:27 +03:00
nativeprices core: move NotaryVerificationPrice to a separate package 2021-03-23 13:56:39 +03:00
noderoles *: introduce Genesis protocol configuration 2023-10-19 18:30:20 +03:00
compatibility_test.go config: add InitialGASSupply, fix 2021-07-20 16:59:54 +03:00
contract.go Merge pull request from nspcc-dev/drop-history 2023-11-21 15:46:16 +03:00
contract_test.go core: move TestNativeGetMethod to the native package 2022-06-08 18:51:27 +03:00
crypto.go *: move NativeUpdateHistory logic under Hardforks management 2023-11-21 14:05:28 +03:00
crypto_blspoints.go native: fix error message on unexpected BLS12-381 curve point 2023-10-05 13:46:05 +03:00
crypto_test.go core: add BLS12_381 interops 2023-04-05 15:37:50 +03:00
designate.go *: move NativeUpdateHistory logic under Hardforks management 2023-11-21 14:05:28 +03:00
doc.go *: add more package-specific documentation 2021-03-19 16:18:45 +03:00
interop.go *: move NativeUpdateHistory logic under Hardforks management 2023-11-21 14:05:28 +03:00
invocation_test.go *: move NativeUpdateHistory logic under Hardforks management 2023-11-21 14:05:28 +03:00
ledger.go *: move NativeUpdateHistory logic under Hardforks management 2023-11-21 14:05:28 +03:00
management.go core: do not check manifest size on deploy/update 2023-11-22 20:17:09 +03:00
management_neotest_test.go native: test immediate contract availability 2023-11-30 15:58:00 +03:00
management_test.go Revert "native: ignore decoding errors during cache init" 2023-11-22 19:39:03 +03:00
native_gas.go Merge pull request from nspcc-dev/drop-history 2023-11-21 15:46:16 +03:00
native_neo.go native: never set Neo's newEpoch* cache values to nil 2023-12-21 17:56:07 +03:00
native_neo_candidate.go [] English Check 2022-05-04 19:48:27 +03:00
native_neo_test.go stackitem: introduce Convertible interface 2021-07-19 15:42:42 +03:00
native_nep17.go native: introduce attribute pricing 2023-11-21 13:42:56 +03:00
nativenames_test.go [] English Check 2022-05-04 19:48:27 +03:00
neo_types.go stackitem: reusable serialization context 2022-06-02 15:38:39 +03:00
notary.go Merge pull request from nspcc-dev/drop-history 2023-11-21 15:46:16 +03:00
oracle.go *: move NativeUpdateHistory logic under Hardforks management 2023-11-21 14:05:28 +03:00
oracle_types.go [] English Check 2022-05-04 19:48:27 +03:00
oracle_types_test.go *: replace interface{} with any keyword 2023-04-04 13:22:42 +03:00
policy.go Merge pull request from nspcc-dev/drop-history 2023-11-21 15:46:16 +03:00
policy_test.go core: move Policy contract tests to native 2022-06-08 22:44:25 +03:00
std.go *: move NativeUpdateHistory logic under Hardforks management 2023-11-21 14:05:28 +03:00
std_test.go core, interop: add strLen method for native StdLib contract 2023-11-20 19:23:33 +03:00
util.go bigint: don't allocate in ToPreallocatedBytes 2022-06-02 15:38:39 +03:00