@ercworldio/blockchain-shared 1.0.1-dev.9 → 1.0.2-dev.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +26 -0
  2. package/build/chains/networks_dev.json +50 -8
  3. package/build/chains/networks_prod-bu.json +98 -7
  4. package/build/chains/networks_prod-dz.json +194 -12
  5. package/build/chains/networks_stg-bu.json +14 -7
  6. package/build/chains/networks_stg-dz.json +60 -20
  7. package/build/errors/AdminErrors.d.ts +5 -9
  8. package/build/errors/AdminErrors.d.ts.map +1 -1
  9. package/build/errors/AdminErrors.js +49 -24
  10. package/build/errors/AlchemyErrors.d.ts +14 -18
  11. package/build/errors/AlchemyErrors.d.ts.map +1 -1
  12. package/build/errors/AlchemyErrors.js +76 -49
  13. package/build/errors/BalanceErrors.d.ts +3 -7
  14. package/build/errors/BalanceErrors.d.ts.map +1 -1
  15. package/build/errors/BalanceErrors.js +47 -26
  16. package/build/errors/DatabaseErrors.d.ts +5 -9
  17. package/build/errors/DatabaseErrors.d.ts.map +1 -1
  18. package/build/errors/DatabaseErrors.js +49 -28
  19. package/build/errors/TransactionsErrors.d.ts +15 -20
  20. package/build/errors/TransactionsErrors.d.ts.map +1 -1
  21. package/build/errors/TransactionsErrors.js +81 -66
  22. package/build/errors/VoltageErrors.d.ts +8 -13
  23. package/build/errors/VoltageErrors.d.ts.map +1 -1
  24. package/build/errors/VoltageErrors.js +58 -45
  25. package/build/errors/WalletErrors.d.ts +6 -12
  26. package/build/errors/WalletErrors.d.ts.map +1 -1
  27. package/build/errors/WalletErrors.js +48 -37
  28. package/build/errors/errors.d.ts +137 -27
  29. package/build/errors/errors.d.ts.map +1 -1
  30. package/build/errors/errors.js +230 -66
  31. package/build/errors/index.d.ts +37 -36
  32. package/build/errors/index.d.ts.map +1 -1
  33. package/build/services/AlchemyWebhookAddressManager.d.ts.map +1 -1
  34. package/build/services/AlchemyWebhookAddressManager.js +3 -1
  35. package/build/services/quicknode-notifications/QnWebhookAddressManager.d.ts +1 -2
  36. package/build/services/quicknode-notifications/QnWebhookAddressManager.d.ts.map +1 -1
  37. package/build/services/quicknode-notifications/QnWebhookAddressManager.js +25 -42
  38. package/build/services/quicknode-notifications/SetupNotifications.d.ts +1 -0
  39. package/build/services/quicknode-notifications/SetupNotifications.d.ts.map +1 -1
  40. package/build/services/quicknode-notifications/SetupNotifications.js +29 -2
  41. package/build/services/types/chain_manager.d.ts +6 -0
  42. package/build/services/types/chain_manager.d.ts.map +1 -1
  43. package/build/utils/Logger.d.ts.map +1 -1
  44. package/build/utils/Logger.js +13 -2
  45. package/build/utils/solana.d.ts +2 -1
  46. package/build/utils/solana.d.ts.map +1 -1
  47. package/build/utils/solana.js +28 -3
  48. package/package.json +1 -1
@@ -1,5 +1,152 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ErrorCodes = exports.ErrorMessages = void 0;
4
+ /**
5
+ * Centralized static error message strings.
6
+ * Keys mirror ErrorCodes — subclasses reference these instead of using inline string literals.
7
+ */
8
+ exports.ErrorMessages = {
9
+ // BaseErrors
10
+ INTERNAL_SERVER: "Internal Server Error",
11
+ UNAUTHORIZED: "You are not authorized to perform this action",
12
+ // 400
13
+ REQUIRE_PARAMETER: "A required parameter is missing",
14
+ USER_NOT_FOUND: "User not found",
15
+ // 400
16
+ INVALID_VALUE: "One or more values provided are invalid",
17
+ // 400
18
+ INVALID_TOKEN_FORMAT: "Invalid authorization format. Expected: Bearer <token>",
19
+ // 400
20
+ RENEW_NOT_ALLOWED: "Your deposit address is not yet eligible for renewal",
21
+ // 400
22
+ VALIDATION_ERROR: "Request validation failed",
23
+ // 400
24
+ UNSUPPORTED_RESOURCE: "The requested resource is not supported",
25
+ // 400
26
+ INVALID_PAYMENT_TOKEN: "The payment token provided is not recognized",
27
+ // 400
28
+ UNEXPECTED_PAYMENT_TOKEN: "The selected payment token is not supported on this network",
29
+ // 400
30
+ NOT_FOUND: "The requested resource was not found",
31
+ CHAIN_CONFIG_NOT_SET: "Chain configuration is missing. Please contact support",
32
+ UNEXPECTED_ERROR: "An unexpected error occurred. Please try again later",
33
+ DATABASE_NOT_INITIALIZED: "Database connection is not available",
34
+ // 400
35
+ INVALID_USER_ID: "The provided user ID is invalid",
36
+ NO_PAYMENT_TOKENS: "No payment tokens are configured for this network",
37
+ SERVER_NOT_INITIALIZED: "Server is starting up. Please try again in a moment",
38
+ // 400
39
+ SERVER_NOT_RESPONDING: "The server is not responding. Please try again later",
40
+ // 400
41
+ INVALID_ADDRESS: "The provided address is invalid",
42
+ PAYMENT_REQUEST_NOT_APPROVED: "Payment request has not been approved",
43
+ // 400
44
+ REQUIRE_PAYMENT_ID: "Payment ID is required",
45
+ // 409
46
+ ADDRESS_EXISTS: "A deposit address already exists for this account",
47
+ // Admin / webhook
48
+ UNSUPPORTED_ALCHEMY_NETWORK: "The blockchain network is not supported by Alchemy",
49
+ FAILED_INITIALIZE_WEBHOOKS: "Failed to initialize webhooks. Please try again later",
50
+ // Database
51
+ SERVER_UNAVAILABLE: "Service is temporarily unavailable. Please try again later",
52
+ FAILED_GET_TRANSACTIONS: "Failed to retrieve transaction count. Please try again later",
53
+ // Alchemy / Voltage shared
54
+ INVOICE_SUBSCRIBER_ERROR: "Failed to subscribe to the invoice. Please try again",
55
+ // 400
56
+ REQUIRE_MIN_AMOUNT: "The amount is below the minimum required",
57
+ // 400
58
+ PAYMENT_ID_NOT_FOUND: "Invoice not found or expired. Please request a new one",
59
+ // 409
60
+ ALREADY_PAID_INVOICE: "This invoice has already been paid",
61
+ PAYMENT_FAILED: "Payment could not be processed. Please try again",
62
+ FAILED_WEBHOOK_ACTION: "A webhook operation failed. Please try again later",
63
+ ORM_REPO_NOT_INITIALIZED: "A required database repository is not initialized",
64
+ NO_WEBHOOKS: "No webhooks found for this subscription",
65
+ FAILED_GET_WEBHOOK_ADDRESSES: "Failed to retrieve webhook addresses. Please try again later",
66
+ // Wallet
67
+ // 409
68
+ PARENT_INDEX_IN_USE: "The selected wallet index is already in use",
69
+ // Transactions
70
+ // 409
71
+ REQUEST_NOT_APPROVED: "Withdrawal request has not been approved",
72
+ // 400
73
+ RECEIVER_REQUIRED: "Receiver address is missing. Please contact support",
74
+ // 400
75
+ UNEXPECTED_RECEIVER: "Please use the wallet address associated with your deposit",
76
+ // 409
77
+ DUPLICATE_CLAIM_JOB: "A claim for this request is already in progress. Please check back in a few minutes",
78
+ // 400
79
+ INVALID_WALLET_ADDRESS: "The wallet address provided is invalid",
80
+ // 409
81
+ REQUEST_FULFILLED: "This request has already been fulfilled",
82
+ // 400
83
+ WITHDRAW_REQUEST_NOT_FOUND: "Withdrawal request not found",
84
+ // 400
85
+ UNSUPPORTED_NETWORK: "The selected network is not supported",
86
+ // 400
87
+ UNSUPPORTED_ADDRESS: "The address format is not compatible with the selected network",
88
+ // 400
89
+ UNEXPECTED_ADDRESS_FORMAT: "The address does not match the expected format for the selected network",
90
+ // 400
91
+ EMPTY_PAYLOAD: "Request payload cannot be empty",
92
+ // 400
93
+ ONLY_STABLECOIN_WITHDRAWAL: "This network only supports stablecoin withdrawals",
94
+ };
95
+ exports.ErrorCodes = {
96
+ INTERNAL_SERVER: 'error.internal_server_error',
97
+ UNAUTHORIZED: 'error.unauthorized',
98
+ REQUIRE_PARAMETER: 'error.require_parameter',
99
+ USER_NOT_FOUND: 'error.user_not_found',
100
+ INVALID_VALUE: 'error.invalid_value',
101
+ INVALID_TOKEN_FORMAT: 'error.invalid_token_format',
102
+ RENEW_NOT_ALLOWED: 'error.renew_not_allowed',
103
+ VALIDATION_ERROR: 'error.validation_error',
104
+ UNSUPPORTED_RESOURCE: 'error.unsupported_resource',
105
+ INVALID_PAYMENT_TOKEN: 'error.invalid_payment_token',
106
+ UNEXPECTED_PAYMENT_TOKEN: 'error.unexpected_payment_token',
107
+ NOT_FOUND: 'error.not_found',
108
+ CHAIN_CONFIG_NOT_SET: 'error.chain_config_not_set',
109
+ UNEXPECTED_ERROR: 'error.unexpected_error',
110
+ DATABASE_NOT_INITIALIZED: 'error.database_not_initialized',
111
+ INVALID_USER_ID: 'error.invalid_user_id',
112
+ NO_PAYMENT_TOKENS: 'error.no_payment_tokens',
113
+ SERVER_NOT_INITIALIZED: 'error.server_not_initialized',
114
+ SERVER_NOT_RESPONDING: 'error.server_not_responding',
115
+ INVALID_ADDRESS: 'error.invalid_address',
116
+ PAYMENT_REQUEST_NOT_APPROVED: 'error.payment_request_not_approved',
117
+ REQUIRE_PAYMENT_ID: 'error.require_payment_id',
118
+ ADDRESS_EXISTS: 'error.address_exists',
119
+ // Admin / webhook
120
+ UNSUPPORTED_ALCHEMY_NETWORK: 'error.unsupported_alchemy_network',
121
+ FAILED_INITIALIZE_WEBHOOKS: 'error.failed_initialize_webhooks',
122
+ // Database
123
+ SERVER_UNAVAILABLE: 'error.server_unavailable',
124
+ FAILED_GET_TRANSACTIONS: 'error.failed_get_transactions',
125
+ ORM_REPO_NOT_INITIALIZED: 'error.orm_repo_not_initialized',
126
+ // Alchemy / Voltage shared
127
+ INVOICE_SUBSCRIBER_ERROR: 'error.invoice_subscriber_error',
128
+ REQUIRE_MIN_AMOUNT: 'error.require_min_amount',
129
+ PAYMENT_ID_NOT_FOUND: 'error.payment_id_not_found',
130
+ ALREADY_PAID_INVOICE: 'error.already_paid_invoice',
131
+ PAYMENT_FAILED: 'error.payment_failed',
132
+ FAILED_WEBHOOK_ACTION: 'error.failed_webhook_action',
133
+ NO_WEBHOOKS: 'error.no_webhooks',
134
+ FAILED_GET_WEBHOOK_ADDRESSES: 'error.failed_get_webhook_addresses',
135
+ // Wallet
136
+ PARENT_INDEX_IN_USE: 'error.parent_index_in_use',
137
+ // Transactions
138
+ REQUEST_NOT_APPROVED: 'error.request_not_approved',
139
+ RECEIVER_REQUIRED: 'error.receiver_required',
140
+ UNEXPECTED_RECEIVER: 'error.unexpected_receiver',
141
+ DUPLICATE_CLAIM_JOB: 'error.duplicate_claim_job',
142
+ REQUEST_FULFILLED: 'error.request_fulfilled',
143
+ WITHDRAW_REQUEST_NOT_FOUND: 'error.withdraw_request_not_found',
144
+ UNSUPPORTED_NETWORK: 'error.unsupported_network',
145
+ UNSUPPORTED_ADDRESS: 'error.unsupported_address',
146
+ UNEXPECTED_ADDRESS_FORMAT: 'error.unexpected_address_format',
147
+ EMPTY_PAYLOAD: 'error.empty_payload',
148
+ ONLY_STABLECOIN_WITHDRAWAL: 'error.only_stablecoin_withdrawal',
149
+ };
3
150
  class BaseErrors {
4
151
  constructor() {
5
152
  this.codes = {
@@ -12,106 +159,123 @@ class BaseErrors {
12
159
  503: { code: 503, error: "Service Unavailable" }
13
160
  };
14
161
  /** Handler methods */
15
- // Return status code, error, and message
16
162
  this.handle_error = (error, source_method) => {
17
163
  const result = {
18
164
  status_code: 500,
165
+ source_method,
19
166
  response: {
20
167
  status: false,
21
168
  message: "Unexpected error occured. Please try again later.",
169
+ error_code: null,
22
170
  data: {},
23
171
  error: "Internal Server Error"
24
172
  }
25
173
  };
26
- let status = this.get_error_code_base(error.message);
174
+ const status = this.get_error_code_base(error.message);
27
175
  if (!status)
28
- return Object.assign(Object.assign({}, result), { source_method });
176
+ return result;
29
177
  result.status_code = status.code;
30
- result.response.message = status.code == 500 && !error.message ? "Unexpected error occured. Please try again later." : error.message;
178
+ result.response.message = status.code === 500 && !error.message
179
+ ? "Unexpected error occured. Please try again later."
180
+ : error.message;
31
181
  result.response.error = status.error;
32
- return Object.assign(Object.assign({}, result), { source_method });
182
+ result.response.error_code = status.error_code;
183
+ return result;
33
184
  };
34
- // Get the status code and error message
35
185
  this.get_error_code_base = (message) => {
36
- if (message.includes("is required"))
37
- return this.codes[400];
38
- if (message.includes("Unauthorized"))
39
- return this.codes[401];
40
- if (message.includes("User not found"))
41
- return this.codes[403];
186
+ if (message.includes("not authorized"))
187
+ return Object.assign(Object.assign({}, this.codes[401]), { error_code: exports.ErrorCodes.UNAUTHORIZED });
42
188
  if (message.includes("jwt expired"))
43
- return this.codes[401];
44
- if (message.includes("Token format is invalid. Use Bearer"))
45
- return this.codes[400];
46
- if (message.includes("You can only renew your deposit address when"))
47
- return this.codes[400];
48
- if (message.includes("Unsupported "))
49
- return this.codes[400];
50
- if (message.includes('Invalid payment token'))
51
- return this.codes[400];
52
- if (message.includes('not found'))
53
- return this.codes[400];
54
- if (message.includes('Payment tokens not found for specified network'))
55
- return this.codes[502];
56
- if (message.includes('The selected payment token is not supported by this network'))
57
- return this.codes[400];
58
- if (message.includes('Server bootstrapping in progress. Try again later.'))
59
- return this.codes[503];
60
- if (message.includes('server is not responding.'))
61
- return this.codes[400];
62
- if (message.includes('address is invalid'))
63
- return this.codes[400];
64
- if (message.includes("Invalid value for"))
65
- return this.codes[400];
66
- if (message.includes("Payment request not approved"))
67
- return this.codes[401];
68
- if (message.includes("'paymentId' is required"))
69
- return this.codes[400];
70
- if (message.includes("Deposit address already exists for user id"))
71
- return this.codes[409];
72
- if (message.includes("Chain configuration is not set"))
73
- return this.codes[500];
189
+ return Object.assign(Object.assign({}, this.codes[401]), { error_code: exports.ErrorCodes.UNAUTHORIZED });
190
+ if (message.includes("required parameter is missing"))
191
+ return Object.assign(Object.assign({}, this.codes[400]), { error_code: exports.ErrorCodes.REQUIRE_PARAMETER });
192
+ if (message.includes("Payment ID is required"))
193
+ return Object.assign(Object.assign({}, this.codes[400]), { error_code: exports.ErrorCodes.REQUIRE_PAYMENT_ID });
194
+ if (message.includes("User not found"))
195
+ return Object.assign(Object.assign({}, this.codes[403]), { error_code: exports.ErrorCodes.USER_NOT_FOUND });
196
+ if (message.includes("values provided are invalid"))
197
+ return Object.assign(Object.assign({}, this.codes[400]), { error_code: exports.ErrorCodes.INVALID_VALUE });
198
+ if (message.includes("Invalid authorization format"))
199
+ return Object.assign(Object.assign({}, this.codes[400]), { error_code: exports.ErrorCodes.INVALID_TOKEN_FORMAT });
200
+ if (message.includes("not yet eligible for renewal"))
201
+ return Object.assign(Object.assign({}, this.codes[400]), { error_code: exports.ErrorCodes.RENEW_NOT_ALLOWED });
202
+ if (message.includes("Request validation failed"))
203
+ return Object.assign(Object.assign({}, this.codes[400]), { error_code: exports.ErrorCodes.VALIDATION_ERROR });
204
+ if (message.includes("resource is not supported"))
205
+ return Object.assign(Object.assign({}, this.codes[400]), { error_code: exports.ErrorCodes.UNSUPPORTED_RESOURCE });
206
+ if (message.includes("payment token provided is not recognized"))
207
+ return Object.assign(Object.assign({}, this.codes[400]), { error_code: exports.ErrorCodes.INVALID_PAYMENT_TOKEN });
208
+ if (message.includes("not supported on this network"))
209
+ return Object.assign(Object.assign({}, this.codes[400]), { error_code: exports.ErrorCodes.UNEXPECTED_PAYMENT_TOKEN });
210
+ if (message.includes("resource was not found"))
211
+ return Object.assign(Object.assign({}, this.codes[400]), { error_code: exports.ErrorCodes.NOT_FOUND });
212
+ if (message.includes("Chain configuration is missing"))
213
+ return Object.assign(Object.assign({}, this.codes[500]), { error_code: exports.ErrorCodes.CHAIN_CONFIG_NOT_SET });
214
+ if (message.includes("unexpected error occurred"))
215
+ return Object.assign(Object.assign({}, this.codes[500]), { error_code: exports.ErrorCodes.UNEXPECTED_ERROR });
216
+ if (message.includes("Database connection is not available"))
217
+ return Object.assign(Object.assign({}, this.codes[500]), { error_code: exports.ErrorCodes.DATABASE_NOT_INITIALIZED });
218
+ if (message.includes("user ID is invalid"))
219
+ return Object.assign(Object.assign({}, this.codes[400]), { error_code: exports.ErrorCodes.INVALID_USER_ID });
220
+ if (message.includes("No payment tokens are configured"))
221
+ return Object.assign(Object.assign({}, this.codes[502]), { error_code: exports.ErrorCodes.NO_PAYMENT_TOKENS });
222
+ if (message.includes("Server is starting up"))
223
+ return Object.assign(Object.assign({}, this.codes[503]), { error_code: exports.ErrorCodes.SERVER_NOT_INITIALIZED });
224
+ if (message.includes("server is not responding"))
225
+ return Object.assign(Object.assign({}, this.codes[400]), { error_code: exports.ErrorCodes.SERVER_NOT_RESPONDING });
226
+ if (message.includes("provided address is invalid"))
227
+ return Object.assign(Object.assign({}, this.codes[400]), { error_code: exports.ErrorCodes.INVALID_ADDRESS });
228
+ if (message.includes("Payment request has not been approved"))
229
+ return Object.assign(Object.assign({}, this.codes[401]), { error_code: exports.ErrorCodes.PAYMENT_REQUEST_NOT_APPROVED });
230
+ if (message.includes("deposit address already exists"))
231
+ return Object.assign(Object.assign({}, this.codes[409]), { error_code: exports.ErrorCodes.ADDRESS_EXISTS });
74
232
  return null;
75
233
  };
76
234
  }
77
- /** Error Definition */
78
- Unauthorized() { return "Unauthorized"; }
235
+ /** Error definitions — unchanged, backward compatible */
236
+ Unauthorized(_) { return exports.ErrorMessages.UNAUTHORIZED; }
237
+ ;
238
+ RequireParameter(_) { return exports.ErrorMessages.REQUIRE_PARAMETER; }
239
+ ;
240
+ NotFoundUser(_) { return exports.ErrorMessages.USER_NOT_FOUND; }
241
+ ;
242
+ InvalidValue(_, __) { return exports.ErrorMessages.INVALID_VALUE; }
243
+ ;
244
+ InvalidTokenFormat(_) { return exports.ErrorMessages.INVALID_TOKEN_FORMAT; }
245
+ ;
246
+ RenewNotAllowed(_, __) { return exports.ErrorMessages.RENEW_NOT_ALLOWED; }
247
+ ;
248
+ ValidationError(_) { return exports.ErrorMessages.VALIDATION_ERROR; }
79
249
  ;
80
- RequireParameter(key) { return `${key} is required`; }
250
+ UnsupportedResource(_) { return exports.ErrorMessages.UNSUPPORTED_RESOURCE; }
81
251
  ;
82
- NotFoundUser() { return `User not found`; }
252
+ InvalidPaymentToken(_) { return exports.ErrorMessages.INVALID_PAYMENT_TOKEN; }
83
253
  ;
84
- InvalidValue(name, context) { return `Invalid value for ${name}${context ? `: ${context}` : ""}`; }
254
+ UnexpectedPaymentToken(_) { return exports.ErrorMessages.UNEXPECTED_PAYMENT_TOKEN; }
85
255
  ;
86
- InvalidTokenFormat() { return "Token format is invalid. Use Bearer {token}"; }
256
+ NotFound(_) { return exports.ErrorMessages.NOT_FOUND; }
87
257
  ;
88
- RenewNotAllowed(remaining_duration_s, remaining_threshold_s) { return `You can only renew your deposit address when it has less than ${remaining_threshold_s / 60} minutes remaining before expiry.`; }
89
- ValidationError(validation_type) { return `Failed while validating ${validation_type}`; }
258
+ ChainConfigNotSet(_) { return exports.ErrorMessages.CHAIN_CONFIG_NOT_SET; }
90
259
  ;
91
- UnsupportedResource(target) { return `Unsupported ${target}`; }
260
+ UnexpectedError(_) { return exports.ErrorMessages.UNEXPECTED_ERROR; }
92
261
  ;
93
- InvalidPaymentToken(token) { return `Invalid payment token ${token}`; }
262
+ NotInitializedDatabase(_) { return exports.ErrorMessages.DATABASE_NOT_INITIALIZED; }
94
263
  ;
95
- UnexpectedPaymentToken() { return `The selected payment token is not supported by this network.`; }
96
- NotFound(resource_name) { return `${resource_name} not found`; }
264
+ InvalidUserId(_) { return exports.ErrorMessages.INVALID_USER_ID; }
97
265
  ;
98
- ChainConfigNotSet() { return `Chain configuration is not set. Ensure the config file is created and exists in storage service.`; }
266
+ NoPaymentTokens(_) { return exports.ErrorMessages.NO_PAYMENT_TOKENS; }
99
267
  ;
100
- UnexpectedError(details) { return `Unexpected error occured${details ? ":" : "."} ${details ? details : ""}`; }
101
- NotInitializedDatabase() { return "Database driver is not initialized."; }
268
+ NotInitializedServer(_) { return exports.ErrorMessages.SERVER_NOT_INITIALIZED; }
102
269
  ;
103
- InvalidUserId(id) { return `Invalid user id: ${id}`; }
270
+ ServerNotResponding(_) { return exports.ErrorMessages.SERVER_NOT_RESPONDING; }
104
271
  ;
105
- NoPaymentTokens() { return `Payment tokens not found for specified network.`; }
272
+ InvalidAddress(_) { return exports.ErrorMessages.INVALID_ADDRESS; }
106
273
  ;
107
- NotInitializedServer() { return `Server bootstrapping in progress. Try again later.`; }
108
- ServerNotResponding() { return `The provided server is not responding. Please ensure the server is accepting HTTP requests.`; }
109
- InvalidAddress(target) { return `The provided ${target} address is invalid`; }
110
- NotApprovedPaymentRequest() { return "Payment request not approved"; }
274
+ NotApprovedPaymentRequest(_) { return exports.ErrorMessages.PAYMENT_REQUEST_NOT_APPROVED; }
111
275
  ;
112
- RequirePaymentId() { return "'paymentId' is required"; }
276
+ RequirePaymentId(_) { return exports.ErrorMessages.REQUIRE_PAYMENT_ID; }
113
277
  ;
114
- AddressExists() { return "Deposit address already exists for user id"; }
278
+ AddressExists(_) { return exports.ErrorMessages.ADDRESS_EXISTS; }
115
279
  ;
116
280
  }
117
281
  exports.default = BaseErrors;
@@ -5,7 +5,7 @@ import WalletErrors from "./WalletErrors";
5
5
  import BalanceErrors from "./BalanceErrors";
6
6
  import DatabaseErrors from "./DatabaseErrors";
7
7
  import VoltageErrors from "./VoltageErrors";
8
- import BaseErrors from "./errors";
8
+ import BaseErrors, { ErrorCode } from "./errors";
9
9
  import { RequestStatus } from "../services/types/claim";
10
10
  interface ErrorHandlerResponse {
11
11
  status_code: number;
@@ -17,6 +17,7 @@ interface ResponseObject {
17
17
  message: string;
18
18
  data: any;
19
19
  error: string;
20
+ error_code: ErrorCode | null;
20
21
  }
21
22
  declare class AppErrors extends BaseErrors {
22
23
  admin: AdminErrors;
@@ -27,53 +28,53 @@ declare class AppErrors extends BaseErrors {
27
28
  database: DatabaseErrors;
28
29
  voltage: VoltageErrors;
29
30
  /** Delegated AdminErrors */
30
- adminUnsupportedAlchemyNetwork(chainId: string): string;
31
- adminFailedInitializeWebhooks(subscription: string): string;
31
+ adminUnsupportedAlchemyNetwork(chainId: string): "The blockchain network is not supported by Alchemy";
32
+ adminFailedInitializeWebhooks(subscription: string): "Failed to initialize webhooks. Please try again later";
32
33
  handle_admin_error(error: any, source_method: string): ErrorHandlerResponse;
33
34
  /** Delegated AlchemyErrors */
34
- alchemyInvoiceSubscriberError(r_hash: string): string;
35
- alchemyRequireMinAmount(min_amount: number): string;
36
- alchemyPaymentIdNotFound(paymentId: string): string;
37
- alchemyAlreadyPaidInvoice(): string;
38
- alchemyPaymentFailed(reason: string): string;
39
- alchemyFailedWebhookAction(action_type: string, success_count: number, expected_success_count: number): string;
40
- alchemyNotInitializedOrmRepo(repo_name: string): string;
41
- alchemyNoWebhooks(subscription: string): string;
42
- alchemyFailedGetWebhookAddresses(subscription: string, webhook_id: string): string;
43
- alchemyUnsupportedAlchemyNetwork(chainId: string): string;
44
- alchemyFailedInitializeWebhooks(subscription: string): string;
35
+ alchemyInvoiceSubscriberError(r_hash: string): "Failed to subscribe to the invoice. Please try again";
36
+ alchemyRequireMinAmount(min_amount: number): "The amount is below the minimum required";
37
+ alchemyPaymentIdNotFound(paymentId: string): "Invoice not found or expired. Please request a new one";
38
+ alchemyAlreadyPaidInvoice(): "This invoice has already been paid";
39
+ alchemyPaymentFailed(reason: string): "Payment could not be processed. Please try again";
40
+ alchemyFailedWebhookAction(action_type: string, success_count: number, expected_success_count: number): "A webhook operation failed. Please try again later";
41
+ alchemyNotInitializedOrmRepo(repo_name: string): "A required database repository is not initialized";
42
+ alchemyNoWebhooks(subscription: string): "No webhooks found for this subscription";
43
+ alchemyFailedGetWebhookAddresses(subscription: string, webhook_id: string): "Failed to retrieve webhook addresses. Please try again later";
44
+ alchemyUnsupportedAlchemyNetwork(chainId: string): "The blockchain network is not supported by Alchemy";
45
+ alchemyFailedInitializeWebhooks(subscription: string): "Failed to initialize webhooks. Please try again later";
45
46
  handle_alchemy_error(error: any, source_method: string): ErrorHandlerResponse;
46
47
  /** Delegated TransactionsErrors */
47
- RequestNotApproved(status: RequestStatus): string;
48
- ReceiverRequired(): string;
49
- UnexpectedReceiver(): string;
50
- DuplicateClaimJob(request_id: number): string;
51
- InvalidAddress(): string;
52
- RequestFulfilled(): string;
53
- NotExistWithdrawRequest(): string;
54
- UnsupportedNetwork(suggested_networks: string): string;
55
- UnsupportedAddress(network: string): string;
56
- UnexpectedAddressFormat(current_network: string, expected_network: string): string;
57
- EmptyPayload(action: string): string;
58
- OnlyStablecoinWithdrawal(): string;
48
+ RequestNotApproved(status: RequestStatus): "Withdrawal request has not been approved";
49
+ ReceiverRequired(): "Receiver address is missing. Please contact support";
50
+ UnexpectedReceiver(): "Please use the wallet address associated with your deposit";
51
+ DuplicateClaimJob(request_id: number): "A claim for this request is already in progress. Please check back in a few minutes";
52
+ InvalidAddress(): "The wallet address provided is invalid";
53
+ RequestFulfilled(): "This request has already been fulfilled";
54
+ NotExistWithdrawRequest(): "Withdrawal request not found";
55
+ UnsupportedNetwork(suggested_networks: string): "The selected network is not supported";
56
+ UnsupportedAddress(network: string): "The address format is not compatible with the selected network";
57
+ UnexpectedAddressFormat(current_network: string, expected_network: string): "The address does not match the expected format for the selected network";
58
+ EmptyPayload(action: string): "Request payload cannot be empty";
59
+ OnlyStablecoinWithdrawal(): "This network only supports stablecoin withdrawals";
59
60
  handle_transactions_error(error: any, source_method: string): ErrorHandlerResponse;
60
61
  /** Delegated WalletErrors */
61
- RenewNotAllowed(remaining_duration_s: number, remaining_threshold_s: number): string;
62
- NotAvailableParentIndex(index: number): string;
62
+ RenewNotAllowed(remaining_duration_s: number, remaining_threshold_s: number): "Your deposit address is not yet eligible for renewal";
63
+ NotAvailableParentIndex(index: number): "The selected wallet index is already in use";
63
64
  handle_wallet_error(error: any, source_method: string): ErrorHandlerResponse;
64
65
  /** Delegated BalanceErrors */
65
66
  handle_balance_error(error: any, source_method: string): ErrorHandlerResponse;
66
67
  /** Delegated DatabaseErrors */
67
- ServerUnavailable(): string;
68
- FailedGetTransactions(chainId: string, address: string): string;
68
+ ServerUnavailable(): "Service is temporarily unavailable. Please try again later";
69
+ FailedGetTransactions(chainId: string, address: string): "Failed to retrieve transaction count. Please try again later";
69
70
  handle_database_error(error: any, source_method: string): ErrorHandlerResponse;
70
71
  /** Delegated VoltageErrors */
71
- NotApprovedPaymentRequest(): string;
72
- InvoiceSubscriberError(r_hash: string): string;
73
- RequireMinAmount(min_amount: number): string;
74
- PaymentIdNotFound(paymentId: string): string;
75
- AlreadyPaidInvoice(): string;
76
- PaymentFailed(reason: string): string;
72
+ NotApprovedPaymentRequest(): "Payment request has not been approved";
73
+ InvoiceSubscriberError(r_hash: string): "Failed to subscribe to the invoice. Please try again";
74
+ RequireMinAmount(min_amount: number): "The amount is below the minimum required";
75
+ PaymentIdNotFound(paymentId: string): "Invoice not found or expired. Please request a new one";
76
+ AlreadyPaidInvoice(): "This invoice has already been paid";
77
+ PaymentFailed(reason: string): "Payment could not be processed. Please try again";
77
78
  handle_voltage_error(error: any, source_method: string): ErrorHandlerResponse;
78
79
  handle_error: (error: any, source_method: string) => ErrorHandlerResponse;
79
80
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/errors/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AlchemyWebhookAddressManager.d.ts","sourceRoot":"","sources":["../../src/services/AlchemyWebhookAddressManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,yBAAyB,EAAe,MAAM,iBAAiB,CAAC;AAUzE,cAAM,4BAA4B;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA+B;IACtD,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,KAAK,CAA2D;IAExE,OAAO;IAKP,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,4BAA4B;IAOjE,OAAO,CAAC,QAAQ;YAMF,IAAI;YASJ,YAAY;IAK1B,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,4BAA4B;IAIpC;;;OAGG;IACU,oBAAoB,CAAC,GAAG,EAAE,yBAAyB,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASvH;;;OAGG;IACU,yBAAyB,CAAC,GAAG,EAAE,yBAAyB,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS5H;;;OAGG;IACU,qBAAqB,CAAC,GAAG,EAAE,yBAAyB,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzJ;;;OAGG;IACU,0BAA0B,CAAC,GAAG,EAAE,yBAAyB,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAWjK;AAED,eAAe,4BAA4B,CAAC"}
1
+ {"version":3,"file":"AlchemyWebhookAddressManager.d.ts","sourceRoot":"","sources":["../../src/services/AlchemyWebhookAddressManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,yBAAyB,EAAe,MAAM,iBAAiB,CAAC;AAUzE,cAAM,4BAA4B;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA+B;IACtD,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,KAAK,CAA2D;IAExE,OAAO;IAKP,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,GAAG,4BAA4B;IAOjE,OAAO,CAAC,QAAQ;YAMF,IAAI;YASJ,YAAY;IAK1B,OAAO,CAAC,sBAAsB;IAgB9B,OAAO,CAAC,4BAA4B;IAIpC;;;OAGG;IACU,oBAAoB,CAAC,GAAG,EAAE,yBAAyB,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IASvH;;;OAGG;IACU,yBAAyB,CAAC,GAAG,EAAE,yBAAyB,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS5H;;;OAGG;IACU,qBAAqB,CAAC,GAAG,EAAE,yBAAyB,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAYzJ;;;OAGG;IACU,0BAA0B,CAAC,GAAG,EAAE,yBAAyB,EAAE,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAWjK;AAED,eAAe,4BAA4B,CAAC"}
@@ -64,7 +64,9 @@ class AlchemyWebhookAddressManager {
64
64
  }
65
65
  return all.filter(w => w.network === network &&
66
66
  w.webhook_type === "ADDRESS_ACTIVITY" &&
67
- w.webhook_url.includes(env));
67
+ w.webhook_url.includes(env) &&
68
+ !w.webhook_url.includes("escrow-events") /// @DEV notice this is hardcoded to exclude escrow webhooks from adding custodial addresses to them
69
+ );
68
70
  }
69
71
  get_chain_ids_for_blockchain(blockchain) {
70
72
  return ChainManager_1.default.getInstance(this.config).blockchain_chainid_map.get(blockchain) || [];
@@ -14,8 +14,7 @@ declare class QnWebhookAddressManager {
14
14
  /** Returns the { name, network } pairs for the notification configs of a given chain. */
15
15
  private get_webhook_keys_for_chain;
16
16
  private get_notif_configs;
17
- private is_stale;
18
- private load;
17
+ private load_entries;
19
18
  private ensure_loaded;
20
19
  private matches_key;
21
20
  add_address(blockchain: BlockchainType, address: string): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"QnWebhookAddressManager.d.ts","sourceRoot":"","sources":["../../../src/services/quicknode-notifications/QnWebhookAddressManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAiB,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AA8BlE,cAAM,uBAAuB;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0B;IACjD,OAAO,CAAC,GAAG,CAAqB;IAChC,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,KAAK,CAAmD;IAEhE,OAAO,CAAC,EAAE,CAAgB;IAC1B,OAAO;IAMP,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,kBAAkB,GAAG,uBAAuB;IAOzG,OAAO,CAAC,wBAAwB;IAKhC,yFAAyF;IACzF,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,iBAAiB;IAkBzB,OAAO,CAAC,QAAQ;YAMF,IAAI;YAwCJ,aAAa;IAO3B,OAAO,CAAC,WAAW;IAIN,WAAW,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkB1E,cAAc,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB1F;;;;OAIG;IACU,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuBvF;;;;OAIG;IACU,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuB5F;;;;OAIG;IACU,qBAAqB,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzH;;;;OAIG;IACU,0BAA0B,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;YAqBhH,sBAAsB;CAuBvC;AAED,eAAe,uBAAuB,CAAC"}
1
+ {"version":3,"file":"QnWebhookAddressManager.d.ts","sourceRoot":"","sources":["../../../src/services/quicknode-notifications/QnWebhookAddressManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,OAAO,EAAiB,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAyBlE,cAAM,uBAAuB;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA0B;IACjD,OAAO,CAAC,GAAG,CAAqB;IAChC,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,KAAK,CAAqD;IAElE,OAAO,CAAC,EAAE,CAAgB;IAC1B,OAAO;IAMP,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,aAAa,EAAE,GAAG,CAAC,EAAE,kBAAkB,GAAG,uBAAuB;IAOzG,OAAO,CAAC,wBAAwB;IAKhC,yFAAyF;IACzF,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,iBAAiB;YAkBX,YAAY;YAgCZ,aAAa;IAQ3B,OAAO,CAAC,WAAW;IAIN,WAAW,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB1E,cAAc,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAkB1F;;;;OAIG;IACU,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAuBvF;;;;OAIG;IACU,yBAAyB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAwB5F;;;;OAIG;IACU,qBAAqB,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBzH;;;;OAIG;IACU,0BAA0B,CAAC,UAAU,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;YAqBhH,sBAAsB;CAuBvC;AAED,eAAe,uBAAuB,CAAC"}