public override string GenerateClass() { var functionABI = Model.FunctionABI; var header = ""; if (_functionABIModel.IsMultipleOutput()) { header = $@"{SpaceUtils.OneTab}[Function(""{functionABI.Name}"", typeof({_functionOutputDTOModel.GetTypeName()}))]"; } if (_functionABIModel.IsSingleOutput()) { header = $@"{SpaceUtils.OneTab}[Function(""{functionABI.Name}"", ""{_functionABIModel.GetSingleAbiReturnType()}"")]"; } if (_functionABIModel.HasNoReturn()) { header = $@"{SpaceUtils.OneTab}[Function(""{functionABI.Name}"")]"; } return($@"{GetPartialMainClass()} {header} {SpaceUtils.OneTab}public class {Model.GetTypeName()}Base : FunctionMessage {SpaceUtils.OneTab}{{ {_parameterAbiFunctionDtocSharpTemplate.GenerateAllProperties(functionABI.InputParameters)} {SpaceUtils.OneTab}}}"); }
public override string GenerateClass() { var typeName = Model.GetTypeName(); return $@"{GetPartialMainClass()} {SpaceUtils.OneTab}public class {typeName}Base : ContractDeploymentMessage {SpaceUtils.OneTab}{{ {SpaceUtils.TwoTabs}public static string BYTECODE = ""{Model.ByteCode}""; {SpaceUtils.TwoTabs}public {typeName}Base() : base(BYTECODE) {{ }} {SpaceUtils.TwoTabs}public {typeName}Base(string byteCode) : base(byteCode) {{ }} {_parameterAbiFunctionDtocSharpTemplate.GenerateAllProperties(Model.ConstructorABI.InputParameters)} {SpaceUtils.OneTab}}}"; }