neoneo-go/pkg
Roman Khimov ce09c82b25 block: remove Verify()
It's used in two places now:
 * Blockchain.AddBlock()
   This one does transaction duplication check of its own, doing it in
   Verify() is just a waste of time. Merkle tree root hash value check is
   still relevant though
 * Block.DecodeBinary()
   We're decoding blocks for the following purposes:
     - on restore from dump
       The block will be added to the chain via AddBlock() and that will do a
       full check of it (if configured to do so)
     - on retrieving the block from the DB (DAO)
       We trust the DB, if it's gone wild, this check won't really help
     - on receiving the block via P2P
       It's gonna be put into block queue and then end up in AddBlock() which
       will check it
     - on receiving the block via RPC (submitblock)
       It is to be passed into AddBlock()
     - on receiving the block via RPC in a client
       That's the only problematic case probably, but RPC client has to trust
       the server and it can check for the signature if it really
       cares. Or a separate in-client check might be added.

As we can see nothing really requires this verification to be done the way it
is now, AddBlock can just have a Merkle check and DecodeBinary can do fine
without it at all.
2020-09-16 12:50:13 +03:00
..
compiler compiler: support removing slice elements 2020-09-15 16:33:43 +03:00
config *: use proper YAML library import path, fix #1306 2020-08-12 16:31:06 +03:00
consensus hash: introduce memory-optimized merkle root hash calculation routine 2020-09-15 18:38:15 +03:00
core block: remove Verify() 2020-09-16 12:50:13 +03:00
crypto hash: introduce memory-optimized merkle root hash calculation routine 2020-09-15 18:38:15 +03:00
encoding remove github.com/pkg/errors from dependencies 2020-08-07 12:21:52 +03:00
internal hash: introduce memory-optimized merkle root hash calculation routine 2020-09-15 18:38:15 +03:00
interop compiler: support removing slice elements 2020-09-15 16:33:43 +03:00
io always wrap errors when creating new ones with fmt.Errorf() 2020-08-07 12:21:52 +03:00
network network: don't compress Inventory messages 2020-09-09 20:46:31 +03:00
rpc block: remove Verify() 2020-09-16 12:50:13 +03:00
smartcontract rpc: use state.AppExecResult for ApplicationLog marshalling 2020-09-07 13:38:32 +03:00
util *: use proper YAML library import path, fix #1306 2020-08-12 16:31:06 +03:00
vm vm/core: drop old key caching system 2020-09-10 14:43:24 +03:00
wallet wallet: emit proper multisignature 2020-08-18 11:24:48 +03:00