@bsv/wallet-toolbox-client
Version:
Client only Wallet Storage
69 lines • 2.73 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.WalletErrorFromJson = WalletErrorFromJson;
const WalletError_1 = require("./WalletError");
const WERR_errors_1 = require("./WERR_errors");
/**
* Reconstruct the correct derived WalletError from a JSON object created by `WalletError.unknownToJson`.
*
* This function is implemented as a separate function instead of a WalletError class static
* to avoid circular dependencies.
*
* @param json
* @returns a WalletError derived error object, typically for re-throw.
*/
function WalletErrorFromJson(json) {
let e;
const obj = json;
switch (obj.name) {
case 'WERR_NOT_IMPLEMENTED':
e = new WERR_errors_1.WERR_NOT_IMPLEMENTED(obj.message);
break;
case 'WERR_INTERNAL':
e = new WERR_errors_1.WERR_INTERNAL(obj.message);
break;
case 'WERR_INVALID_OPERATION':
e = new WERR_errors_1.WERR_INVALID_OPERATION(obj.message);
break;
case 'WERR_BROADCAST_UNAVAILABLE':
e = new WERR_errors_1.WERR_BROADCAST_UNAVAILABLE(obj.message);
break;
case 'WERR_INVALID_PARAMETER':
e = new WERR_errors_1.WERR_INVALID_PARAMETER(obj.parameter);
e.message = obj.message;
break;
case 'WERR_MISSING_PARAMETER':
e = new WERR_errors_1.WERR_MISSING_PARAMETER(obj.parameter);
e.message = obj.message;
break;
case 'WERR_BAD_REQUEST':
e = new WERR_errors_1.WERR_BAD_REQUEST(obj.message);
break;
case 'WERR_NETWORK_CHAIN':
e = new WERR_errors_1.WERR_NETWORK_CHAIN(obj.message);
break;
case 'WERR_UNAUTHORIZED':
e = new WERR_errors_1.WERR_UNAUTHORIZED(obj.message);
break;
case 'WERR_NOT_ACTIVE':
e = new WERR_errors_1.WERR_NOT_ACTIVE(obj.message);
break;
case 'WERR_INSUFFICIENT_FUNDS':
e = new WERR_errors_1.WERR_INSUFFICIENT_FUNDS(obj.totalSatoshisNeeded, obj.moreSatoshisNeeded);
break;
case 'WERR_INVALID_PUBLIC_KEY':
e = new WERR_errors_1.WERR_INVALID_PUBLIC_KEY(obj.key, 'mainnet');
e.message = obj.message;
break;
case 'WERR_REVIEW_ACTIONS':
e = new WERR_errors_1.WERR_REVIEW_ACTIONS(obj.reviewActionResults, obj.sendWithResults, obj.txid, obj.tx, obj.noSendChange);
break;
default:
{
e = new WalletError_1.WalletError(obj.name || 'WERR_UNKNOWN', obj.message || '');
}
break;
}
return e;
}
//# sourceMappingURL=WalletErrorFromJson.js.map