From de0764090db87067f90ad562ae9796e9600dd32b Mon Sep 17 00:00:00 2001 From: Weijie Lin <weijie@gmail.com> Date: Fri, 28 Jul 2023 10:31:07 -0700 Subject: [PATCH 1/4] updated code to all args be passed to deploy method --- .../LaunchConfigParser.Invocations.cs | 19 ++++++++++++++++++- src/adapter3/LaunchConfigParser.cs | 5 +++-- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/adapter3/LaunchConfigParser.Invocations.cs b/src/adapter3/LaunchConfigParser.Invocations.cs index e4db7a7..44b7161 100644 --- a/src/adapter3/LaunchConfigParser.Invocations.cs +++ b/src/adapter3/LaunchConfigParser.Invocations.cs @@ -1,6 +1,6 @@ +using System; using Neo.Network.P2P.Payloads; using Newtonsoft.Json.Linq; -using System; namespace NeoDebug.Neo3 { @@ -30,6 +30,13 @@ public static bool TryFromJson(JToken token, out InvokeFileInvocation invocation public struct ContractDeployInvocation { + public readonly JArray Args; + + public ContractDeployInvocation(JArray args) + { + Args = args; + } + public static bool TryFromJson(JToken token, out ContractDeployInvocation invocation) { if (token.Type == JTokenType.String && token.Value<string>() == "deploy") @@ -37,6 +44,16 @@ public static bool TryFromJson(JToken token, out ContractDeployInvocation invoca invocation = new ContractDeployInvocation(); return true; } + else if (token.Type == JTokenType.Object && token.Value<bool>("deploy")) + { + var argsJson = token["args"]; + var args = argsJson == null + ? new JArray() + : argsJson is JArray ? (JArray)argsJson : new JArray(argsJson); + + invocation = new ContractDeployInvocation(args); + return true; + } invocation = default; return false; diff --git a/src/adapter3/LaunchConfigParser.cs b/src/adapter3/LaunchConfigParser.cs index 8a4397a..5e0c0cb 100644 --- a/src/adapter3/LaunchConfigParser.cs +++ b/src/adapter3/LaunchConfigParser.cs @@ -118,9 +118,10 @@ static async Task<IApplicationEngine> CreateDebugEngineAsync(ConfigProps config, { signers = new[] { deploySigner }; } - + var tokenArgs = invocation.AsT3.Args; + var args = tokenArgs != null ? paramParser.ParseParameters(tokenArgs).ToArray() : null; using var builder = new ScriptBuilder(); - builder.EmitDynamicCall(NativeContract.ContractManagement.Hash, "deploy", launchNefFile.ToArray(), launchManifest.ToJson().ToString()); + builder.EmitDynamicCall(NativeContract.ContractManagement.Hash, "deploy", launchNefFile.ToArray(), launchManifest.ToJson().ToString(), args); invokeScript = builder.ToArray(); } else From 4477f4bf7f2eacd140624129e5e6cb96f59216c1 Mon Sep 17 00:00:00 2001 From: Weijie Lin <weijie@gmail.com> Date: Fri, 28 Jul 2023 15:02:44 -0700 Subject: [PATCH 2/4] added deploy-data to the launch schema --- src/adapter3/LaunchConfigParser.cs | 2 +- src/extension/package.json | 19 +++++++++++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/adapter3/LaunchConfigParser.cs b/src/adapter3/LaunchConfigParser.cs index 5e0c0cb..322fe3f 100644 --- a/src/adapter3/LaunchConfigParser.cs +++ b/src/adapter3/LaunchConfigParser.cs @@ -119,7 +119,7 @@ static async Task<IApplicationEngine> CreateDebugEngineAsync(ConfigProps config, signers = new[] { deploySigner }; } var tokenArgs = invocation.AsT3.Args; - var args = tokenArgs != null ? paramParser.ParseParameters(tokenArgs).ToArray() : null; + var args = tokenArgs != null && tokenArgs.Count > 0 ? paramParser.ParseParameters(tokenArgs).ToArray() : null; using var builder = new ScriptBuilder(); builder.EmitDynamicCall(NativeContract.ContractManagement.Hash, "deploy", launchNefFile.ToArray(), launchManifest.ToJson().ToString(), args); invokeScript = builder.ToArray(); diff --git a/src/extension/package.json b/src/extension/package.json index 3a67955..c0bc49f 100644 --- a/src/extension/package.json +++ b/src/extension/package.json @@ -79,7 +79,6 @@ "default": null, "description": "GitHub release tag. Defaults to extension version" } - } }, "debuggers": [ @@ -105,6 +104,22 @@ "deploy" ] }, + { + "type": "object", + "required": [ + "deploy-data" + ], + "properties": { + "deploy-data": { + "type": "object", + "properties": { + "args": { + "type": "array" + } + } + } + } + }, { "type": "object", "required": [ @@ -556,4 +571,4 @@ "tslint": "^6.1.3", "typescript": "^4.9.4" } -} +} \ No newline at end of file From fe9f21fb1fdb0ad551f12065898e1824f6167456 Mon Sep 17 00:00:00 2001 From: Weijie Lin <weijie@gmail.com> Date: Fri, 28 Jul 2023 15:47:58 -0700 Subject: [PATCH 3/4] e2e working with deploy-data schema --- .../LaunchConfigParser.Invocations.cs | 21 +++++++++---------- src/adapter3/LaunchConfigParser.cs | 6 +++--- 2 files changed, 13 insertions(+), 14 deletions(-) diff --git a/src/adapter3/LaunchConfigParser.Invocations.cs b/src/adapter3/LaunchConfigParser.Invocations.cs index 44b7161..02e3374 100644 --- a/src/adapter3/LaunchConfigParser.Invocations.cs +++ b/src/adapter3/LaunchConfigParser.Invocations.cs @@ -30,11 +30,10 @@ public static bool TryFromJson(JToken token, out InvokeFileInvocation invocation public struct ContractDeployInvocation { - public readonly JArray Args; - - public ContractDeployInvocation(JArray args) + public readonly JToken? DeployData; + public ContractDeployInvocation(JToken? deployData) { - Args = args; + DeployData = deployData; } public static bool TryFromJson(JToken token, out ContractDeployInvocation invocation) @@ -44,15 +43,15 @@ public static bool TryFromJson(JToken token, out ContractDeployInvocation invoca invocation = new ContractDeployInvocation(); return true; } - else if (token.Type == JTokenType.Object && token.Value<bool>("deploy")) + else if (token.Type == JTokenType.Object) { - var argsJson = token["args"]; - var args = argsJson == null - ? new JArray() - : argsJson is JArray ? (JArray)argsJson : new JArray(argsJson); + var deploy = token["deploy-data"]; + if (deploy != null) + { + invocation = new ContractDeployInvocation(deploy["args"]); + return true; + } - invocation = new ContractDeployInvocation(args); - return true; } invocation = default; diff --git a/src/adapter3/LaunchConfigParser.cs b/src/adapter3/LaunchConfigParser.cs index 322fe3f..41c492f 100644 --- a/src/adapter3/LaunchConfigParser.cs +++ b/src/adapter3/LaunchConfigParser.cs @@ -118,10 +118,10 @@ static async Task<IApplicationEngine> CreateDebugEngineAsync(ConfigProps config, { signers = new[] { deploySigner }; } - var tokenArgs = invocation.AsT3.Args; - var args = tokenArgs != null && tokenArgs.Count > 0 ? paramParser.ParseParameters(tokenArgs).ToArray() : null; + var deployDataToken = invocation.AsT3.DeployData; + var deployData = paramParser.ParseParameter(deployDataToken); using var builder = new ScriptBuilder(); - builder.EmitDynamicCall(NativeContract.ContractManagement.Hash, "deploy", launchNefFile.ToArray(), launchManifest.ToJson().ToString(), args); + builder.EmitDynamicCall(NativeContract.ContractManagement.Hash, "deploy", launchNefFile.ToArray(), launchManifest.ToJson().ToString(), deployData); invokeScript = builder.ToArray(); } else From 4f821e948fb823deecf11ff2b873bb2bd3cbd1a4 Mon Sep 17 00:00:00 2001 From: Weijie Lin <weijie@gmail.com> Date: Fri, 28 Jul 2023 15:54:07 -0700 Subject: [PATCH 4/4] renamed deploy-data to deploy --- src/adapter3/LaunchConfigParser.Invocations.cs | 9 ++------- src/extension/package.json | 11 ++--------- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/src/adapter3/LaunchConfigParser.Invocations.cs b/src/adapter3/LaunchConfigParser.Invocations.cs index 02e3374..d3d2423 100644 --- a/src/adapter3/LaunchConfigParser.Invocations.cs +++ b/src/adapter3/LaunchConfigParser.Invocations.cs @@ -45,13 +45,8 @@ public static bool TryFromJson(JToken token, out ContractDeployInvocation invoca } else if (token.Type == JTokenType.Object) { - var deploy = token["deploy-data"]; - if (deploy != null) - { - invocation = new ContractDeployInvocation(deploy["args"]); - return true; - } - + invocation = new ContractDeployInvocation(token["deploy"]); + return true; } invocation = default; diff --git a/src/extension/package.json b/src/extension/package.json index c0bc49f..c46f9bb 100644 --- a/src/extension/package.json +++ b/src/extension/package.json @@ -107,17 +107,10 @@ { "type": "object", "required": [ - "deploy-data" + "deploy" ], "properties": { - "deploy-data": { - "type": "object", - "properties": { - "args": { - "type": "array" - } - } - } + "deploy": {} } }, {