neo-go/pkg/core
Roman Khimov 292051d8df core: get transactions from dao when mempool should not be used
All of these places deal strictly with the chain and shouldn't ever be
bothered with mempool. It also fixes a deadlock on reverification of
non-standard tx:

1 @ 0x42f62f 0x43fbe9 0x43fbbf 0x43f95d 0x967059 0x966f66 0x972c7c 0x974e13 0x97a5d9 0x97bdf0 0x976147 0x966cc0 0x970f70 0x96c8cb 0x9ba858 0x45ca51
	0x43f95c	sync.runtime_SemacquireMutex+0x3c							/usr/local/go/src/runtime/sema.go:71
	0x967058	sync.(*RWMutex).RLock+0x128								/usr/local/go/src/sync/rwmutex.go:50
	0x966f65	github.com/CityOfZion/neo-go/pkg/core/mempool.(*Pool).TryGetValue+0x35			/go/src/github.com/CityOfZion/neo-go/pkg/core/mempool/mem_pool.go:229
	0x972c7b	github.com/CityOfZion/neo-go/pkg/core.(*Blockchain).GetTransaction+0x4b			/go/src/github.com/CityOfZion/neo-go/pkg/core/blockchain.go:782
	0x974e12	github.com/CityOfZion/neo-go/pkg/core.(*Blockchain).References+0x132			/go/src/github.com/CityOfZion/neo-go/pkg/core/blockchain.go:944
	0x97a5d8	github.com/CityOfZion/neo-go/pkg/core.(*Blockchain).GetScriptHashesForVerifying+0x58	/go/src/github.com/CityOfZion/neo-go/pkg/core/blockchain.go:1410
	0x97bdef	github.com/CityOfZion/neo-go/pkg/core.(*Blockchain).verifyTxWitnesses+0x4f		/go/src/github.com/CityOfZion/neo-go/pkg/core/blockchain.go:1545
	0x976146	github.com/CityOfZion/neo-go/pkg/core.(*Blockchain).isTxStillRelevant+0x216		/go/src/github.com/CityOfZion/neo-go/pkg/core/blockchain.go:1067
	0x966cbf	github.com/CityOfZion/neo-go/pkg/core/mempool.(*Pool).RemoveStale+0xff			/go/src/github.com/CityOfZion/neo-go/pkg/core/mempool/mem_pool.go:208
	0x970f6f	github.com/CityOfZion/neo-go/pkg/core.(*Blockchain).storeBlock+0x2ecf			/go/src/github.com/CityOfZion/neo-go/pkg/core/blockchain.go:614
	0x96c8ca	github.com/CityOfZion/neo-go/pkg/core.(*Blockchain).AddBlock+0xea			/go/src/github.com/CityOfZion/neo-go/pkg/core/blockchain.go:308
	0x9ba857	github.com/CityOfZion/neo-go/pkg/network.(*blockQueue).run+0x157			/go/src/github.com/CityOfZion/neo-go/pkg/network/blockqueue.go:48
2020-02-10 18:53:22 +03:00
..
block transaction: forbid serializing invalid transactions 2020-02-03 16:33:03 +03:00
mempool mempool: drop RemoveOverCapacity(), handle it right in the Add() 2020-02-06 17:50:11 +03:00
state state: use open-coded array (de)serialization for accounts 2019-12-13 19:57:17 +03:00
storage storage: panic on error in boltdb.Seek 2020-01-09 15:17:35 +03:00
test_data Persist blockchain with leveldb on disk (#48) 2018-03-17 12:53:21 +01:00
transaction transaction: forbid serializing invalid transactions 2020-02-03 16:33:03 +03:00
blockchain.go core: get transactions from dao when mempool should not be used 2020-02-10 18:53:22 +03:00
blockchain_test.go core: refactor out Block, BlockBase and Header structs 2020-01-16 10:16:24 +03:00
blockchainer.go core/mempool: fix AddBlock and tx pooling concurrency issues 2020-02-06 15:41:52 +03:00
cacheddao.go core: add cachedDao to cache accounts and contracts 2019-12-13 19:57:17 +03:00
cacheddao_test.go core: add cachedDao to cache accounts and contracts 2019-12-13 19:57:17 +03:00
dao.go core: refactor out Block, BlockBase and Header structs 2020-01-16 10:16:24 +03:00
dao_test.go transaction: forbid serializing invalid transactions 2020-02-03 16:33:03 +03:00
gas_price.go core: fix GAS price definitions 2020-02-06 18:19:08 +03:00
gas_price_test.go core: restrict GAS available for invocation transactions 2020-01-22 14:31:54 +03:00
header_hash_list.go util: implement io.Serializable for Uint256 2019-11-14 14:20:38 +03:00
helper_test.go Merge pull request #601 from nspcc-dev/refactoring/core 2020-01-20 16:19:20 +03:00
interop_neo.go core: implement Neo.Storage.Find interop 2019-12-26 15:21:41 +03:00
interop_neo_test.go core: refactor out Block, BlockBase and Header structs 2020-01-16 10:16:24 +03:00
interop_system.go core: substitute bad notifications with error messages 2020-02-07 15:34:59 +03:00
interops.go core: refactor out Block, BlockBase and Header structs 2020-01-16 10:16:24 +03:00
interops_test.go core,rpc: close Blockchain in tests 2020-01-10 11:47:56 +03:00
prometheus.go core: refactor out MemPool 2020-01-16 10:16:24 +03:00
spent_coin_state.go io: add type-specific read/write methods 2019-12-12 20:19:50 +03:00
spent_coin_state_test.go internal: moved testutil method to internal package 2019-12-11 13:14:43 +03:00
uint32.go *: goimports 2019-12-17 14:51:28 +03:00
unspent_coin_state.go io: rename Read/WriteBytes to Read/WriteB 2019-12-12 20:19:50 +03:00
unspent_coint_state_test.go core: renames entities-> state and removed State prefix 2019-12-11 13:14:18 +03:00
util.go block: rename BlockBase to Base 2020-01-16 10:16:24 +03:00
util_test.go address: rename functions as per #579 comments 2019-12-25 17:34:18 +03:00