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($@"{header} {SpaceUtils.OneTab}type {Model.GetTypeName()}() = {SpaceUtils.TwoTabs}inherit FunctionMessage() {SpaceUtils.OneTab} {_parameterAbiFunctionDtoFSharpTemplate.GenerateAllProperties(functionABI.InputParameters)} {SpaceUtils.OneTab}"); }
public override string GenerateClass() { var typeName = Model.GetTypeName(); return ($@"{SpaceUtils.OneTab}type {typeName}(byteCode: string) = {SpaceUtils.TwoTabs}inherit ContractDeploymentMessage(byteCode) {SpaceUtils.TwoTabs} {SpaceUtils.TwoTabs}static let BYTECODE = ""{Model.ByteCode}"" {SpaceUtils.TwoTabs} {SpaceUtils.TwoTabs}new() = {typeName}(BYTECODE) {SpaceUtils.TwoTabs} {_parameterAbiFunctionDtoFSharpTemplate.GenerateAllProperties(Model.ConstructorABI.InputParameters)} {SpaceUtils.OneTab}"); }