| 
									
										
										
										
											2017-01-24 11:49:20 +02:00
										 |  |  | // Copyright 2017 The go-ethereum Authors | 
					
						
							|  |  |  | // This file is part of the go-ethereum library. | 
					
						
							|  |  |  | // | 
					
						
							|  |  |  | // The go-ethereum library is free software: you can redistribute it and/or modify | 
					
						
							|  |  |  | // it under the terms of the GNU Lesser General Public License as published by | 
					
						
							|  |  |  | // the Free Software Foundation, either version 3 of the License, or | 
					
						
							|  |  |  | // (at your option) any later version. | 
					
						
							|  |  |  | // | 
					
						
							|  |  |  | // The go-ethereum library is distributed in the hope that it will be useful, | 
					
						
							|  |  |  | // but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 
					
						
							|  |  |  | // GNU Lesser General Public License for more details. | 
					
						
							|  |  |  | // | 
					
						
							|  |  |  | // You should have received a copy of the GNU Lesser General Public License | 
					
						
							|  |  |  | // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | package accounts | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-02-07 12:47:34 +02:00
										 |  |  | import ( | 
					
						
							|  |  |  | 	"errors" | 
					
						
							|  |  |  | 	"fmt" | 
					
						
							|  |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // ErrUnknownAccount is returned for any requested operation for which no backend | 
					
						
							|  |  |  | // provides the specified account. | 
					
						
							|  |  |  | var ErrUnknownAccount = errors.New("unknown account") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // ErrUnknownWallet is returned for any requested operation for which no backend | 
					
						
							|  |  |  | // provides the specified wallet. | 
					
						
							|  |  |  | var ErrUnknownWallet = errors.New("unknown wallet") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // ErrNotSupported is returned when an operation is requested from an account | 
					
						
							|  |  |  | // backend that it does not support. | 
					
						
							|  |  |  | var ErrNotSupported = errors.New("not supported") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // ErrInvalidPassphrase is returned when a decryption operation receives a bad | 
					
						
							|  |  |  | // passphrase. | 
					
						
							|  |  |  | var ErrInvalidPassphrase = errors.New("invalid passphrase") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // ErrWalletAlreadyOpen is returned if a wallet is attempted to be opened the | 
					
						
							|  |  |  | // secodn time. | 
					
						
							|  |  |  | var ErrWalletAlreadyOpen = errors.New("wallet already open") | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // ErrWalletClosed is returned if a wallet is attempted to be opened the | 
					
						
							|  |  |  | // secodn time. | 
					
						
							|  |  |  | var ErrWalletClosed = errors.New("wallet closed") | 
					
						
							| 
									
										
										
										
											2017-01-24 11:49:20 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | // AuthNeededError is returned by backends for signing requests where the user | 
					
						
							|  |  |  | // is required to provide further authentication before signing can succeed. | 
					
						
							|  |  |  | // | 
					
						
							|  |  |  | // This usually means either that a password needs to be supplied, or perhaps a | 
					
						
							|  |  |  | // one time PIN code displayed by some hardware device. | 
					
						
							|  |  |  | type AuthNeededError struct { | 
					
						
							|  |  |  | 	Needed string // Extra authentication the user needs to provide | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // NewAuthNeededError creates a new authentication error with the extra details | 
					
						
							|  |  |  | // about the needed fields set. | 
					
						
							|  |  |  | func NewAuthNeededError(needed string) error { | 
					
						
							|  |  |  | 	return &AuthNeededError{ | 
					
						
							|  |  |  | 		Needed: needed, | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Error implements the standard error interfacel. | 
					
						
							|  |  |  | func (err *AuthNeededError) Error() string { | 
					
						
							|  |  |  | 	return fmt.Sprintf("authentication needed: %s", err.Needed) | 
					
						
							|  |  |  | } |