neoneo-go/pkg/smartcontract
Roman Khimov 3dbe549a61 smartcontract: store MapType Parameter as a slice of KV pairs
Fixes #809.

Basically, there are three alternative approaches to fixing it:
 * allowing both []byte and string for ByteArrayType value
   minimal invasion into existing code, but ugly as hell and will probably
   backfire at some point
 * storing string values in ByteArrayType
   incurs quite a number of type conversions (and associated data copying),
   though note that these values are not changed usually, so dynamic
   properties of []byte are almost irrelevant here
 * storing only []byte values in ByteArrayType
   makes it impossible to use them as map keys which can be solved in several
   ways:
   - via an interface (Marshalable)
     which is good, but makes testing and comparing values in general harder,
     because of keys mismatch
   - using serialized Parameter as a key (in a string)
     which will need some additional marshaling/unmarshaling
   - converting MapType from map to a slice of key-value pairs
     not a bad idea as we don't use this map as a map really, the type
     itself is all about input/output for real VM types and this approach is
     also a bit closer to JSON representation of the Map
2020-04-01 19:21:00 +03:00
..
context random: make use or random package in tests 2020-03-27 10:27:46 +03:00
trigger smartcontract: turn trigger types into Type 2020-03-02 17:25:27 +03:00
contract.go *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
contract_test.go *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
deployment_price.go cli: make gas parameter to deployment add gas to the base price 2020-03-11 20:34:36 +03:00
param_type.go smartcontract: do not require pointer in MarshalYAML 2020-03-25 16:26:39 +03:00
param_type_test.go smartcontract: always use int64 for integers 2020-03-18 11:58:17 +03:00
parameter.go smartcontract: store MapType Parameter as a slice of KV pairs 2020-04-01 19:21:00 +03:00
parameter_test.go smartcontract: store MapType Parameter as a slice of KV pairs 2020-04-01 19:21:00 +03:00