neo-go/pkg/compiler
Anna Shaleva 2ec1d76320 compiler: add ability to generate .abi.json file
A part of integration with NEO Blockchain Toolkit (see #902). To be
able to deploy smart-contract compiled with neo-go compiler via NEO
Express, we have to generate additional .abi.json file. This file
contains the following information:
 - hash of the compiled contract
 - smart-contract metadata (title, description, version, author,
email, has-storage, has-dynamic-invoke, is-payable)
 - smart-contract entry point
 - functions
 - events

However, this .abi.json file is slightly different from the one,
described in manifest.go, so we have to add auxilaury stractures for
json marshalling. The .abi.json format used by NEO-Express is described
[here](https://github.com/neo-project/neo-devpack-dotnet/blob/master/src/Neo.Compiler.MSIL/FuncExport.cs#L66).
2020-05-04 08:37:39 +03:00
..
testdata *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
analysis.go vm: remove crypto-related opcodes 2020-04-29 19:16:38 +03:00
assign_test.go compiler: calculate stack size more precisely 2020-04-01 17:36:19 +03:00
binary_expr_test.go compiler: move tests from vm/tests 2019-12-23 17:05:34 +03:00
byte_conversion_test.go compiler: allow to convert string constants to []byte 2020-01-27 15:29:52 +03:00
codegen.go vm: implement NOTEQUAL opcode 2020-04-30 18:00:15 +03:00
codegen_test.go *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
compiler.go compiler: add ability to generate .abi.json file 2020-05-04 08:37:39 +03:00
compiler_test.go *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
constant_test.go compiler: move tests from vm/tests 2019-12-23 17:05:34 +03:00
convert_test.go emit: converto to Boolean in Bool() 2020-04-28 17:36:58 +03:00
debug.go compiler: add ability to generate .abi.json file 2020-05-04 08:37:39 +03:00
debug_test.go compiler: add ability to generate .abi.json file 2020-05-04 08:37:39 +03:00
for_test.go vm: make NewBigInteger accept *big.Int 2020-04-16 15:54:58 +03:00
func_scope.go compiler: support exporting method variables in debug info 2020-04-06 15:30:07 +03:00
function_call_test.go compiler: clean up stack on branch statements 2020-03-10 15:26:00 +03:00
if_test.go compiler: move tests from vm/tests 2019-12-23 17:05:34 +03:00
import_test.go *: move all packages from CityOfZion to nspcc-dev 2020-03-03 17:21:42 +03:00
interop_test.go vm: add support for dynamic invocations in APPCALL 2020-03-10 17:17:36 +03:00
limit_test.go compiler: emit integers correctly 2020-01-28 16:39:19 +03:00
map_test.go compiler: allow usage of string literals in index expressions 2020-01-23 17:28:35 +03:00
numeric_test.go compiler: move tests from vm/tests 2019-12-23 17:05:34 +03:00
panic_test.go vm: move InteropNameToID to emit package 2020-04-17 11:46:31 +03:00
return_test.go compiler: extend possible returned values 2020-04-28 16:44:06 +03:00
slice_test.go compiler: allow to declare slices of compound types 2020-03-27 13:50:09 +03:00
struct_test.go emit: converto to Boolean in Bool() 2020-04-28 17:36:58 +03:00
switch_test.go compiler: implement fallthrough in switch 2020-03-10 12:34:07 +03:00
syscall.go compiler: emit Neo.Crypto.ECDsaVerify syscall instead of CHECKSIG 2020-04-13 13:47:39 +03:00
syscall_test.go vm: make NewBigInteger accept *big.Int 2020-04-16 15:54:58 +03:00
type_test.go compiler: move tests from vm/tests 2019-12-23 17:05:34 +03:00
util_test.go vm: remove crypto-related opcodes 2020-04-29 19:16:38 +03:00
verify_test.go vm: move InteropNameToID to emit package 2020-04-17 11:46:31 +03:00
vm_test.go vm: move InteropNameToID to emit package 2020-04-17 11:46:31 +03:00