diff --git a/src/neo/SmartContract/ApplicationEngine.Contract.cs b/src/neo/SmartContract/ApplicationEngine.Contract.cs index 31407a596c..ed2557f356 100644 --- a/src/neo/SmartContract/ApplicationEngine.Contract.cs +++ b/src/neo/SmartContract/ApplicationEngine.Contract.cs @@ -139,6 +139,7 @@ private void CallContractInternal(UInt160 contractHash, string method, Array arg ContractMethodDescriptor md = contract.Manifest.Abi.GetMethod(method); if (md is null) throw new InvalidOperationException(); + if (args.Count != md.Parameters.Length) throw new InvalidOperationException(); int rvcount = md.ReturnType == ContractParameterType.Void ? 0 : 1; ExecutionContext context_new = LoadScript(contract.Script, rvcount); state = context_new.GetState();