public string GenerateClass(FunctionABI functionABI) { var header = ""; if (_functionABIModel.IsMultipleOutput(functionABI)) { header = $@"{SpaceUtils.OneTab}[Function(""{functionABI.Name}"", typeof({_functionOutputDTOModel.GetFunctionOutputTypeName(functionABI)}))]"; } if (_functionABIModel.IsSingleOutput(functionABI)) { header = $@"{SpaceUtils.OneTab}[Function(""{functionABI.Name}"", ""{_functionABIModel.GetSingleAbiReturnType(functionABI)}""))]"; } if (_functionABIModel.HasNoReturn(functionABI)) { header = $@"{SpaceUtils.OneTab}[Function(""{functionABI.Name}""]"; } return($@"{header} {SpaceUtils.OneTab}public class {_functionCQSMessageModel.GetFunctionMessageTypeName(functionABI)}:ContractMessage {SpaceUtils.OneTab}{{ {_parameterABIFunctionDTOTemplate.GenerateAllProperties(functionABI.InputParameters)} {SpaceUtils.OneTab}}}"); }
public string GenerateClass(ConstructorABI constructorABI, string byteCode, string contractName) { var typeName = _contractDeploymentCQSMessageModel.GetContractDeploymentMessageTypeName(contractName); return ($@"{SpaceUtils.OneTab}public class {typeName}:ContractDeploymentMessage {SpaceUtils.OneTab}{{ {SpaceUtils.TwoTabs} {SpaceUtils.TwoTabs}public static string BYTECODE = ""{byteCode}""; {SpaceUtils.TwoTabs} {SpaceUtils.TwoTabs}public {typeName}():base(BYTECODE) {SpaceUtils.TwoTabs}{{ {SpaceUtils.TwoTabs}}} {SpaceUtils.TwoTabs} {SpaceUtils.TwoTabs}public {typeName}(string byteCode):base(byteCode) {SpaceUtils.TwoTabs}{{ {SpaceUtils.TwoTabs}}} {SpaceUtils.TwoTabs} {_parameterABIFunctionDTOTemplate.GenerateAllProperties(constructorABI.InputParameters)} {SpaceUtils.OneTab}}}"); }