2015-08-12 11:08:33 -03:00
'use strict' ;
angular . module ( 'copayApp.services' )
2015-08-13 16:47:10 -03:00
. factory ( 'bwsError' , function bwcErrorService ( $log , gettextCatalog ) {
2015-08-12 11:08:33 -03:00
var root = { } ;
2015-12-08 12:29:10 -03:00
root . msg = function ( err , prefix ) {
2015-08-12 11:08:33 -03:00
var body = '' ;
prefix = prefix || '' ;
2015-12-08 12:29:10 -03:00
if ( err && err . code ) {
switch ( err . code ) {
2015-08-12 11:08:33 -03:00
case 'CONNECTION_ERROR' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Network connection error' ) ;
2015-08-12 11:08:33 -03:00
break ;
case 'NOT_FOUND' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Wallet service not found' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'BAD_SIGNATURES' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Signatures rejected by server' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'COPAYER_DATA_MISMATCH' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Copayer data mismatch' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'COPAYER_IN_WALLET' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Copayer already in this wallet' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'COPAYER_REGISTERED' :
2015-09-29 12:45:06 -03:00
body = gettextCatalog . getString ( 'Key already associated with an existing wallet' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'COPAYER_VOTED' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Copayer already voted on this spend proposal' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'DUST_AMOUNT' :
2015-09-16 16:11:26 +02:00
body = gettextCatalog . getString ( 'Amount below dust threshold' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'INCORRECT_ADDRESS_NETWORK' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Incorrect address network' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'INSUFFICIENT_FUNDS' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Insufficient funds' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'INSUFFICIENT_FUNDS_FOR_FEE' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Insufficient funds for fee' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'INVALID_ADDRESS' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Invalid address' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'LOCKED_FUNDS' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Funds are locked by pending spend proposals' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'NOT_AUTHORIZED' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Not authorized' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'TX_ALREADY_BROADCASTED' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Transaction already broadcasted' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'TX_CANNOT_CREATE' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Locktime in effect. Please wait to create a new spend proposal' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'TX_CANNOT_REMOVE' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Locktime in effect. Please wait to remove this spend proposal' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'TX_NOT_ACCEPTED' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Spend proposal is not accepted' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'TX_NOT_FOUND' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Spend proposal not found' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'TX_NOT_PENDING' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'The spend proposal is not pending' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'UPGRADE_NEEDED' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Please upgrade Copay to perform this action' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'WALLET_ALREADY_EXISTS' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Wallet already exists' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'WALLET_FULL' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Wallet is full' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'WALLET_NOT_COMPLETE' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Wallet is not complete' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'WALLET_NOT_FOUND' :
2015-08-13 16:47:10 -03:00
body = gettextCatalog . getString ( 'Wallet not found' ) ;
2015-08-12 11:08:33 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'SERVER_COMPROMISED' :
2015-09-02 15:56:00 -03:00
body = gettextCatalog . getString ( 'Server response could not be verified' ) ;
break ;
2015-12-08 12:29:10 -03:00
case 'WALLET_DOES_NOT_EXIST' :
2016-01-16 17:04:01 -06:00
body = gettextCatalog . getString ( 'Wallet not registered at the wallet service. Recreate it from "Create Wallet" using "Advanced Options" to set your seed' ) ;
2015-09-02 15:56:00 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'INVALID_BACKUP' :
2015-09-03 01:49:48 -03:00
body = gettextCatalog . getString ( 'Wallet seed is invalid' ) ;
2015-09-02 15:56:00 -03:00
break ;
2015-11-04 16:17:04 -03:00
case 'MAIN_ADDRESS_GAP_REACHED' :
2015-11-04 16:47:58 -03:00
body = gettextCatalog . getString ( 'Empty addresses limit reached. New addresses cannot be generated.' ) ;
2015-11-04 16:17:04 -03:00
break ;
2015-12-08 12:29:10 -03:00
case 'WALLET_LOCKED' :
body = gettextCatalog . getString ( 'Wallet is locked' ) ;
break ;
2015-09-08 00:57:07 -03:00
case 'ERROR' :
body = ( err . message || err . error ) ;
break ;
2015-09-02 15:56:00 -03:00
default :
$log . warn ( 'Unknown error type:' , err . code ) ;
2015-12-08 12:29:10 -03:00
body = err . message || err . code ;
2015-09-02 15:56:00 -03:00
break ;
2015-08-12 11:08:33 -03:00
}
2015-09-25 17:24:15 -03:00
} else if ( err . message ) {
body = gettextCatalog . getString ( err . message ) ;
2015-09-14 12:12:24 -03:00
} else {
body = gettextCatalog . getString ( err ) ;
2015-08-12 11:08:33 -03:00
}
2015-12-08 12:29:10 -03:00
var msg = prefix + ( body ? ( prefix ? ': ' : '' ) + body : '' ) ;
2015-08-12 11:08:33 -03:00
return msg ;
} ;
2015-12-08 12:29:10 -03:00
root . cb = function ( err , prefix , cb ) {
2015-08-12 11:08:33 -03:00
return cb ( root . msg ( err , prefix ) )
} ;
return root ;
} ) ;