/// <summary> /// If the call is to a property, rewrites the method name to the getter method's name. /// </summary> private void RewritePropertyGetterName(BuildCallContractTransactionRequest request) { // Don't rewrite if there are params if (request.Parameters != null && request.Parameters.Any()) { return; } byte[] contractCode = this.stateRoot.GetCode(request.ContractAddress.ToUint160(this.network)); string contractType = this.stateRoot.GetContractType(request.ContractAddress.ToUint160(this.network)); Result <IContractModuleDefinition> readResult = ContractDecompiler.GetModuleDefinition(contractCode); if (readResult.IsSuccess) { IContractModuleDefinition contractModule = readResult.Value; string propertyGetterName = contractModule.GetPropertyGetterMethodName(contractType, request.MethodName); if (propertyGetterName != null) { request.MethodName = propertyGetterName; } } }