neo-go/pkg/core
Roman Khimov f0fbb2d8ff core: prevent panic on forced exit
If we're to close the Blockchain while it's storing a block this might happen:

panic: assignment to entry in nil map

goroutine 63 [running]:
github.com/nspcc-dev/neo-go/pkg/core/storage.(*MemoryStore).put(...)
        /home/rik/dev/neo-go/pkg/core/storage/memory_store.go:53
github.com/nspcc-dev/neo-go/pkg/core/storage.(*MemCachedStore).Persist(0xc000673a40, 0x0, 0x0, 0x0)
        /home/rik/dev/neo-go/pkg/core/storage/memcached_store.go:118 +0x245
github.com/nspcc-dev/neo-go/pkg/core/dao.(*Simple).Persist(0xc003dbdcc0, 0xc003b18900, 0xc002505538, 0xc001c510e0)
        /home/rik/dev/neo-go/pkg/core/dao/dao.go:543 +0x2e
github.com/nspcc-dev/neo-go/pkg/core/dao.(*Cached).Persist(0xc003b189c0, 0xc000240000, 0x0, 0x0)
        /home/rik/dev/neo-go/pkg/core/dao/cacheddao.go:169 +0x756
github.com/nspcc-dev/neo-go/pkg/core.(*Blockchain).storeBlock(0xc0001f4000, 0xc003611040, 0x0, 0x10)
        /home/rik/dev/neo-go/pkg/core/blockchain.go:647 +0xfa2
github.com/nspcc-dev/neo-go/pkg/core.(*Blockchain).AddBlock(0xc0001f4000, 0xc003611040, 0x0, 0x0)
        /home/rik/dev/neo-go/pkg/core/blockchain.go:447 +0xee
github.com/nspcc-dev/neo-go/pkg/network.(*blockQueue).run(0xc0006f4120)
        /home/rik/dev/neo-go/pkg/network/blockqueue.go:48 +0x158
created by github.com/nspcc-dev/neo-go/pkg/network.(*Server).Start
        /home/rik/dev/neo-go/pkg/network/server.go:179 +0x2b5
2020-06-18 21:35:17 +03:00
..
block block/transaction: add network magic into the hash 2020-06-18 12:39:50 +03:00
blockchainer rpc: update RPC server invoke* calls 2020-06-11 19:34:13 +03:00
dao block/transaction: add network magic into the hash 2020-06-18 12:39:50 +03:00
interop core,native: persist native contract via VM 2020-06-18 15:32:27 +03:00
mempool block/transaction: add network magic into the hash 2020-06-18 12:39:50 +03:00
native native: fix Transfer event in burn 2020-06-18 16:19:09 +03:00
state smartcontract,vm: remove DynamicInvoke feature 2020-06-11 10:45:25 +03:00
storage core: provide monotonically increasing ID for contracts 2020-06-11 10:45:25 +03:00
test_data Persist blockchain with leveldb on disk (#48) 2018-03-17 12:53:21 +01:00
transaction block/transaction: add network magic into the hash 2020-06-18 12:39:50 +03:00
blockchain.go core: prevent panic on forced exit 2020-06-18 21:35:17 +03:00
blockchain_test.go core: save application logs for native persist 2020-06-18 15:32:27 +03:00
doc.go core: add Blockchain event subscription mechanism 2020-05-25 00:27:39 +03:00
gas_price.go core: store precise gas price in interop descriptions 2020-06-15 12:02:28 +03:00
header_hash_list.go *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
helper_test.go block/transaction: add network magic into the hash 2020-06-18 12:39:50 +03:00
interop_neo.go core: calculate a price of System.Storage.Put correctly 2020-06-15 12:02:21 +03:00
interop_neo_test.go block/transaction: add network magic into the hash 2020-06-18 12:39:50 +03:00
interop_system.go core: implement System.Runtime.GetInvocationCounter syscall 2020-06-17 11:24:11 +03:00
interop_system_test.go core: implement System.Runtime.GetInvocationCounter syscall 2020-06-17 11:24:11 +03:00
interops.go core: implement System.Runtime.GetInvocationCounter syscall 2020-06-17 11:24:11 +03:00
interops_test.go block/transaction: add network magic into the hash 2020-06-18 12:39:50 +03:00
native_contract_test.go native: take into account native contract method prices 2020-06-18 15:32:27 +03:00
opcode_price.go core: add SystemFee and NetworkFee to transaction 2020-05-20 23:26:48 +03:00
prometheus.go core: refactor out MemPool 2020-01-16 10:16:24 +03:00
util.go block/transaction: add network magic into the hash 2020-06-18 12:39:50 +03:00
util_test.go block/transaction: add network magic into the hash 2020-06-18 12:39:50 +03:00