neoneo-go/pkg/core
Anna Shaleva 1d1538c566 services: fix Oracle response transaction creation
Problem: transactions with wrong hashes are accepted to the chain if
consensus nodes are designated as Oracle nodes. The result is wrong
MerkleRoot for the accepted block. Consensus nodes got such blocks
right from the dbft and store them without errors, but if
non-consensus nodes are present in the network, they just can't accept
these "bad" blocks:
```
2021-11-29T12:56:40.533+0300	WARN	blockQueue: failed adding block into the blockchain	{"error": "invalid block: MerkleRoot mismatch (expected a866b57ad637934f7a7700e3635a549387e644970b42681d865a54c3b3a46122, calculated d465aafabaf4539a3f619d373d178eeeeab7acb9847e746e398706c8c1582bf8)", "blockHeight": 17, "nextIndex": 18}
```

This problem happens because of transaction hash caching. We can't set
transaction hash if transaction construction wasn't yet completed.
2021-11-30 10:43:58 +03:00
..
block network: remove priority queue from block queue 2021-11-01 11:49:01 +03:00
blockchainer core: store NEP-11 transfers, add accessor functions 2021-11-18 00:09:10 +03:00
chaindump block: drop Network from the Header 2021-03-26 13:45:18 +03:00
dao dao: add P2PStateExchangeExtensions setting to dao.Version 2021-11-24 16:22:27 +03:00
fee vm: add PACKMAP/PACKSTRUCT, extend UNPACK 2021-11-12 17:19:59 +03:00
interop native/interop: use oracle request signers for oracle response witness 2021-11-16 11:51:15 +03:00
mempool mempool: reword ErrConflict message, fix #2197 2021-09-28 09:57:42 +03:00
mempoolevent core: move mempool.Event to a separate package 2021-06-01 12:24:28 +03:00
mpt statesync: copy state by swapping prefix 2021-11-24 16:22:27 +03:00
native *: use NEP-XX naming consistently in docs/comments 2021-11-19 12:58:46 +03:00
state *: use NEP-XX naming consistently in docs/comments 2021-11-19 12:58:46 +03:00
stateroot dao: add KeepOnlyLatestState setting to dao.Version 2021-11-24 16:22:27 +03:00
statesync dao: add stateroot-related settings to Version 2021-11-24 16:22:27 +03:00
storage Merge pull request #2264 from nspcc-dev/fix-win-tests 2021-11-29 11:25:35 +03:00
test_data core/block: add Nonce field to header 2021-07-15 15:58:49 +03:00
transaction transaction: add new Rules witness scope 2021-11-12 15:29:28 +03:00
bench_test.go rpc: refactor calculatenetworkfee handler 2021-10-25 19:07:25 +03:00
blockchain.go core: remove old storage items asynchronously 2021-11-24 16:25:11 +03:00
blockchain_test.go Merge pull request #2264 from nspcc-dev/fix-win-tests 2021-11-29 11:25:35 +03:00
doc.go core: add Blockchain event subscription mechanism 2020-05-25 00:27:39 +03:00
helper_test.go *: use NEP-XX naming consistently in docs/comments 2021-11-19 12:58:46 +03:00
interop_system.go core: add finalizer functions to interop context 2021-10-21 10:05:12 +03:00
interop_system_test.go native/interop: use oracle request signers for oracle response witness 2021-11-16 11:51:15 +03:00
interops.go interop: implement System.Runtime.GetRandom 2021-07-15 16:00:01 +03:00
interops_test.go core: remove conflicting transactions wrt MaxTraceableBlocks 2021-08-18 13:31:47 +03:00
native_contract_test.go core: add and use synchronous persist to avoid OOM 2021-11-22 10:41:40 +03:00
native_designate_test.go core/test: get rid of empty tx scripts 2021-07-15 15:58:49 +03:00
native_gas_test.go core: store NEP-11 transfers, add accessor functions 2021-11-18 00:09:10 +03:00
native_ledger_test.go core/block: add Nonce field to header 2021-07-15 15:58:49 +03:00
native_management_test.go core: maintain a set of NEP17-compliant contracts 2021-07-28 13:22:53 +03:00
native_neo_test.go core: move NNS test out of core 2021-11-11 11:15:15 +03:00
native_notary_test.go config: make MaxValidUntilBlockIncrement configurable 2021-05-17 13:43:03 +03:00
native_oracle_test.go native/interop: use oracle request signers for oracle response witness 2021-11-16 11:51:15 +03:00
native_policy_test.go core: add and use synchronous persist to avoid OOM 2021-11-22 10:41:40 +03:00
notary_test.go *: fix tests failing due to path.Join usage 2021-11-29 11:11:09 +03:00
oracle_test.go services: fix Oracle response transaction creation 2021-11-30 10:43:58 +03:00
prometheus.go stateroot: move state-root related logic to core/stateroot 2021-03-09 13:48:29 +03:00
stateroot_test.go *: fix tests failing due to path.Join usage 2021-11-29 11:11:09 +03:00
statesync_test.go core: remove old storage items asynchronously 2021-11-24 16:25:11 +03:00
util.go core/block: add Nonce field to header 2021-07-15 15:58:49 +03:00
util_test.go core/block: add Nonce field to header 2021-07-15 15:58:49 +03:00