MCPcopy Create free account
hub / github.com/DNAProject/DNA / ParseNativeFuncParam

Function ParseNativeFuncParam

cmd/utils/native_param.go:56–76  ·  view source on GitHub ↗
(builder *neovm.ParamsBuilder, funName string, params []interface{}, paramsAbi []*abi.NativeContractParamAbi)

Source from the content-addressed store, hash-verified

54}
55
56func ParseNativeFuncParam(builder *neovm.ParamsBuilder, funName string, params []interface{}, paramsAbi []*abi.NativeContractParamAbi) error {
57 size := len(paramsAbi)
58 if size == 0 {
59 //Params cannot empty, if params is empty, fulfil with func name
60 params = []interface{}{funName}
61 paramsAbi = []*abi.NativeContractParamAbi{{
62 Name: "funcName",
63 Type: abi.NATIVE_PARAM_TYPE_STRING,
64 }}
65 } else if size > 1 {
66 //If more than one param in func, must using struct
67 paramRoot := &abi.NativeContractParamAbi{
68 Name: "root",
69 Type: abi.NATIVE_PARAM_TYPE_STRUCT,
70 SubType: paramsAbi,
71 }
72 params = []interface{}{params}
73 paramsAbi = []*abi.NativeContractParamAbi{paramRoot}
74 }
75 return ParseNativeParams(builder, params, paramsAbi)
76}
77
78func ParseNativeParams(builder *neovm.ParamsBuilder, params []interface{}, paramsAbi []*abi.NativeContractParamAbi) error {
79 if len(params) != len(paramsAbi) {

Callers 2

TestParseNativeParamFunction · 0.85

Calls 1

ParseNativeParamsFunction · 0.85

Tested by 1

TestParseNativeParamFunction · 0.68