neoneo-go/pkg/vm/tests
Roman Khimov a7457d08a1 vm/core: add ID support for SYSCALL, redo interop registration
This solves two problems:
 * adds support for shortened SYSCALL form that uses IDs (similar to #434, but
   for NEO 2.0, supporting both forms), which is important for compatibility
   with C# node and mainnet chain that uses it from some height
 * reworks interop plugging to use callbacks rather than appending to the map,
   these map mangling functions are clearly visible in the VM profiling
   statistics and we want spawning a VM to be fast, so it makes sense
   optimizing it. This change moves most of the work to the init() phase
   making VM setup cheaper.

Caveats:
 * InteropNameToID accepts `[]byte` because that's the thing we have in
   SYSCALL processing and that's the most often usecase for it, it leads to
   some conversions in other places but that's acceptable because those are
   either tests or init()
 * three getInterop functions are: `getDefaultVMInterop`, `getSystemInterop`
   and `getNeoInterop`

Our 100K (1.4M->1.5M) block import time improves by ~4% with this change.
2019-12-19 13:35:42 +03:00
..
bar *: add/fix godoc comments to satisfy golint 2019-09-03 17:57:51 +03:00
foo Compiler (#73) 2018-04-22 20:11:37 +02:00
foobar Porting the NEX ICO template to neo-go as first class smart contract example (#78) 2018-05-06 08:03:26 +02:00
assign_test.go codestyle: use camel case 2019-10-18 18:36:54 +03:00
binary_expr_test.go codestyle: use camel case 2019-10-18 18:36:54 +03:00
byte_conversion_test.go Porting the NEX ICO template to neo-go as first class smart contract example (#78) 2018-05-06 08:03:26 +02:00
contant_test.go Optimisations and API changes for smart contracts (#67) 2018-04-10 11:45:31 +02:00
for_test.go vm: make PUSH0 create empty bytearray 2019-09-16 15:50:51 +03:00
function_call_test.go vm: make PUSH0 create empty bytearray 2019-09-16 15:50:51 +03:00
if_test.go vm: make PUSH0 create empty bytearray 2019-09-16 15:50:51 +03:00
import_test.go vm: make PUSH0 create empty bytearray 2019-09-16 15:50:51 +03:00
numeric_test.go codestyle: use camel case 2019-10-18 18:36:54 +03:00
struct_test.go codestyle: use camel case 2019-10-18 18:36:54 +03:00
syscall_test.go interop: move into pkg/interop, replace pkg/vm/api 2019-08-15 19:41:51 +03:00
type_test.go Compiler (#73) 2018-04-22 20:11:37 +02:00
util_test.go interop: move into pkg/interop, replace pkg/vm/api 2019-08-15 19:41:51 +03:00
vm_test.go vm/core: add ID support for SYSCALL, redo interop registration 2019-12-19 13:35:42 +03:00