1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.ERROR_CODES = {
|
4 | MISSING_PARAMETER: 'missing_parameter',
|
5 | REMOTE_SERVICE_ERROR: 'remote_service_error',
|
6 | INVALID_STATE: 'invalid_state',
|
7 | NO_SESSION_DATA: 'no_session_data',
|
8 | UNKNOWN: 'unknown'
|
9 | };
|
10 | Object.freeze(exports.ERROR_CODES);
|
11 | class BlockstackError extends Error {
|
12 | constructor(error) {
|
13 | super(error.message);
|
14 | this.message = error.message;
|
15 | this.code = error.code;
|
16 | this.parameter = error.parameter ? error.parameter : null;
|
17 | }
|
18 | toString() {
|
19 | return `${super.toString()}
|
20 | code: ${this.code} param: ${this.parameter ? this.parameter : 'n/a'}`;
|
21 | }
|
22 | }
|
23 | exports.BlockstackError = BlockstackError;
|
24 | class InvalidParameterError extends BlockstackError {
|
25 | constructor(parameter, message = '') {
|
26 | super({ code: 'missing_parameter', message, parameter: '' });
|
27 | this.name = 'MissingParametersError';
|
28 | }
|
29 | }
|
30 | exports.InvalidParameterError = InvalidParameterError;
|
31 | class MissingParameterError extends BlockstackError {
|
32 | constructor(parameter, message = '') {
|
33 | super({ code: exports.ERROR_CODES.MISSING_PARAMETER, message, parameter });
|
34 | this.name = 'MissingParametersError';
|
35 | }
|
36 | }
|
37 | exports.MissingParameterError = MissingParameterError;
|
38 | class RemoteServiceError extends BlockstackError {
|
39 | constructor(response, message = '') {
|
40 | super({ code: exports.ERROR_CODES.REMOTE_SERVICE_ERROR, message });
|
41 | this.response = response;
|
42 | }
|
43 | }
|
44 | exports.RemoteServiceError = RemoteServiceError;
|
45 | class InvalidDIDError extends BlockstackError {
|
46 | constructor(message = '') {
|
47 | super({ code: 'invalid_did_error', message });
|
48 | this.name = 'InvalidDIDError';
|
49 | }
|
50 | }
|
51 | exports.InvalidDIDError = InvalidDIDError;
|
52 | class NotEnoughFundsError extends BlockstackError {
|
53 | constructor(leftToFund) {
|
54 | const message = `Not enough UTXOs to fund. Left to fund: ${leftToFund}`;
|
55 | super({ code: 'not_enough_error', message });
|
56 | this.leftToFund = leftToFund;
|
57 | this.name = 'NotEnoughFundsError';
|
58 | this.message = message;
|
59 | }
|
60 | }
|
61 | exports.NotEnoughFundsError = NotEnoughFundsError;
|
62 | class InvalidAmountError extends BlockstackError {
|
63 | constructor(fees, specifiedAmount) {
|
64 | const message = `Not enough coin to fund fees transaction fees. Fees would be ${fees},`
|
65 | + ` specified spend is ${specifiedAmount}`;
|
66 | super({ code: 'invalid_amount_error', message });
|
67 | this.specifiedAmount = specifiedAmount;
|
68 | this.fees = fees;
|
69 | this.name = 'InvalidAmountError';
|
70 | this.message = message;
|
71 | }
|
72 | }
|
73 | exports.InvalidAmountError = InvalidAmountError;
|
74 | class LoginFailedError extends BlockstackError {
|
75 | constructor(reason) {
|
76 | const message = `Failed to login: ${reason}`;
|
77 | super({ code: 'login_failed', message });
|
78 | this.message = message;
|
79 | this.name = 'LoginFailedError';
|
80 | }
|
81 | }
|
82 | exports.LoginFailedError = LoginFailedError;
|
83 | class SignatureVerificationError extends BlockstackError {
|
84 | constructor(reason) {
|
85 | const message = `Failed to verify signature: ${reason}`;
|
86 | super({ code: 'signature_verification_failure', message });
|
87 | this.message = message;
|
88 | this.name = 'SignatureVerificationError';
|
89 | }
|
90 | }
|
91 | exports.SignatureVerificationError = SignatureVerificationError;
|
92 | class InvalidStateError extends BlockstackError {
|
93 | constructor(message) {
|
94 | super({ code: exports.ERROR_CODES.INVALID_STATE, message });
|
95 | this.message = message;
|
96 | this.name = 'InvalidStateError';
|
97 | }
|
98 | }
|
99 | exports.InvalidStateError = InvalidStateError;
|
100 | class NoSessionDataError extends BlockstackError {
|
101 | constructor(message) {
|
102 | super({ code: exports.ERROR_CODES.INVALID_STATE, message });
|
103 | this.message = message;
|
104 | this.name = 'NoSessionDataError';
|
105 | }
|
106 | }
|
107 | exports.NoSessionDataError = NoSessionDataError;
|
108 |
|
\ | No newline at end of file |