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

Function BuildNativeInvokeCode

core/utils/transaction_builder.go:82–94  ·  view source on GitHub ↗
(contractAddress common.Address, version byte, method string, params []interface{})

Source from the content-addressed store, hash-verified

80}
81
82func BuildNativeInvokeCode(contractAddress common.Address, version byte, method string, params []interface{}) ([]byte, error) {
83 builder := vm.NewParamsBuilder(new(bytes.Buffer))
84 err := BuildNeoVMParam(builder, params)
85 if err != nil {
86 return nil, err
87 }
88 builder.EmitPushByteArray([]byte(method))
89 builder.EmitPushByteArray(contractAddress[:])
90 builder.EmitPushInteger(new(big.Int).SetInt64(int64(version)))
91 builder.Emit(vm.SYSCALL)
92 builder.EmitPushByteArray([]byte(NATIVE_INVOKE_NAME))
93 return builder.ToArray(), nil
94}
95
96//BuildNeoVMInvokeCode build NeoVM Invoke code for params
97func BuildNeoVMInvokeCode(smartContractAddress common.Address, params []interface{}) ([]byte, error) {

Callers

nothing calls this directly

Calls 5

EmitPushByteArrayMethod · 0.95
EmitPushIntegerMethod · 0.95
EmitMethod · 0.95
ToArrayMethod · 0.95
BuildNeoVMParamFunction · 0.85

Tested by

no test coverage detected