В моем случае result будет каждый раз с разным значением. Также будет вызываться разными пользователями и мне нужно понимать, у какого какой результат получился. 
                  
                  
                  
                  
                  
                  Возможно есть какой-то другой вариант вернуть из метода смарт контракта (test1) результат для пользователя которой вызывает этот метод используя signer?
                  
                  
                
evaluate выполнит честную функцию контракта с заданными аргументами. Другой способ - вместо нормального завершения в контракте предусмотреть throw("result=666")
 lineout6
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                      
                      
                        
                          lineout6
                          
                        
                      
                    
                    
                    
                    
                      Автор вопроса
                    
                    
                  Throw же выбрасывает ошибку. Пробовал этот вариант, но выглядит непрофессионально.
Обсуждают сегодня