@rlajous/sdk-core 1.0.0
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.
- package/LICENSE +21 -0
- package/README.md +96 -0
- package/dist/cjs/client-base.js +155 -0
- package/dist/cjs/client-base.js.map +1 -0
- package/dist/cjs/config.js +30 -0
- package/dist/cjs/config.js.map +1 -0
- package/dist/cjs/errors/authentication.js +35 -0
- package/dist/cjs/errors/authentication.js.map +1 -0
- package/dist/cjs/errors/base.js +76 -0
- package/dist/cjs/errors/base.js.map +1 -0
- package/dist/cjs/errors/index.js +16 -0
- package/dist/cjs/errors/index.js.map +1 -0
- package/dist/cjs/errors/network.js +45 -0
- package/dist/cjs/errors/network.js.map +1 -0
- package/dist/cjs/errors/not-found.js +38 -0
- package/dist/cjs/errors/not-found.js.map +1 -0
- package/dist/cjs/errors/rate-limit.js +53 -0
- package/dist/cjs/errors/rate-limit.js.map +1 -0
- package/dist/cjs/errors/validation.js +49 -0
- package/dist/cjs/errors/validation.js.map +1 -0
- package/dist/cjs/http/client.js +335 -0
- package/dist/cjs/http/client.js.map +1 -0
- package/dist/cjs/http/index.js +11 -0
- package/dist/cjs/http/index.js.map +1 -0
- package/dist/cjs/http/retry.js +43 -0
- package/dist/cjs/http/retry.js.map +1 -0
- package/dist/cjs/index.js +48 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/types/chain.js +114 -0
- package/dist/cjs/types/chain.js.map +1 -0
- package/dist/cjs/types/common.js +49 -0
- package/dist/cjs/types/common.js.map +1 -0
- package/dist/cjs/types/index.js +18 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/types/modules.js +64 -0
- package/dist/cjs/types/modules.js.map +1 -0
- package/dist/cjs/utils/address-validation.js +124 -0
- package/dist/cjs/utils/address-validation.js.map +1 -0
- package/dist/cjs/utils/index.js +14 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/esm/client-base.js +151 -0
- package/dist/esm/client-base.js.map +1 -0
- package/dist/esm/config.js +26 -0
- package/dist/esm/config.js.map +1 -0
- package/dist/esm/errors/authentication.js +31 -0
- package/dist/esm/errors/authentication.js.map +1 -0
- package/dist/esm/errors/base.js +72 -0
- package/dist/esm/errors/base.js.map +1 -0
- package/dist/esm/errors/index.js +7 -0
- package/dist/esm/errors/index.js.map +1 -0
- package/dist/esm/errors/network.js +41 -0
- package/dist/esm/errors/network.js.map +1 -0
- package/dist/esm/errors/not-found.js +34 -0
- package/dist/esm/errors/not-found.js.map +1 -0
- package/dist/esm/errors/rate-limit.js +49 -0
- package/dist/esm/errors/rate-limit.js.map +1 -0
- package/dist/esm/errors/validation.js +45 -0
- package/dist/esm/errors/validation.js.map +1 -0
- package/dist/esm/http/client.js +331 -0
- package/dist/esm/http/client.js.map +1 -0
- package/dist/esm/http/index.js +3 -0
- package/dist/esm/http/index.js.map +1 -0
- package/dist/esm/http/retry.js +37 -0
- package/dist/esm/http/retry.js.map +1 -0
- package/dist/esm/index.js +13 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/types/chain.js +109 -0
- package/dist/esm/types/chain.js.map +1 -0
- package/dist/esm/types/common.js +46 -0
- package/dist/esm/types/common.js.map +1 -0
- package/dist/esm/types/index.js +4 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/types/modules.js +61 -0
- package/dist/esm/types/modules.js.map +1 -0
- package/dist/esm/utils/address-validation.js +113 -0
- package/dist/esm/utils/address-validation.js.map +1 -0
- package/dist/esm/utils/index.js +2 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/types/client-base.d.ts +94 -0
- package/dist/types/client-base.d.ts.map +1 -0
- package/dist/types/config.d.ts +124 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/errors/authentication.d.ts +24 -0
- package/dist/types/errors/authentication.d.ts.map +1 -0
- package/dist/types/errors/base.d.ts +53 -0
- package/dist/types/errors/base.d.ts.map +1 -0
- package/dist/types/errors/index.d.ts +7 -0
- package/dist/types/errors/index.d.ts.map +1 -0
- package/dist/types/errors/network.d.ts +30 -0
- package/dist/types/errors/network.d.ts.map +1 -0
- package/dist/types/errors/not-found.d.ts +27 -0
- package/dist/types/errors/not-found.d.ts.map +1 -0
- package/dist/types/errors/rate-limit.d.ts +37 -0
- package/dist/types/errors/rate-limit.d.ts.map +1 -0
- package/dist/types/errors/validation.d.ts +34 -0
- package/dist/types/errors/validation.d.ts.map +1 -0
- package/dist/types/http/client.d.ts +147 -0
- package/dist/types/http/client.d.ts.map +1 -0
- package/dist/types/http/index.d.ts +3 -0
- package/dist/types/http/index.d.ts.map +1 -0
- package/dist/types/http/retry.d.ts +32 -0
- package/dist/types/http/retry.d.ts.map +1 -0
- package/dist/types/index.d.ts +7 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/types/chain.d.ts +60 -0
- package/dist/types/types/chain.d.ts.map +1 -0
- package/dist/types/types/common.d.ts +251 -0
- package/dist/types/types/common.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +5 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/types/modules.d.ts +51 -0
- package/dist/types/types/modules.d.ts.map +1 -0
- package/dist/types/utils/address-validation.d.ts +50 -0
- package/dist/types/utils/address-validation.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +2 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/package.json +64 -0
|
@@ -0,0 +1,335 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.HttpClient = void 0;
|
|
4
|
+
const errors_1 = require("../errors");
|
|
5
|
+
const retry_1 = require("./retry");
|
|
6
|
+
const config_1 = require("../config");
|
|
7
|
+
/**
|
|
8
|
+
* HTTP client with retry support and interceptors
|
|
9
|
+
*/
|
|
10
|
+
class HttpClient {
|
|
11
|
+
baseUrl;
|
|
12
|
+
defaultHeaders;
|
|
13
|
+
defaultTimeout;
|
|
14
|
+
retryConfig;
|
|
15
|
+
requestInterceptors = [];
|
|
16
|
+
responseInterceptors = [];
|
|
17
|
+
errorInterceptors = [];
|
|
18
|
+
debug;
|
|
19
|
+
logger;
|
|
20
|
+
constructor(config) {
|
|
21
|
+
this.baseUrl = config.baseUrl.replace(/\/$/, ''); // Remove trailing slash
|
|
22
|
+
this.defaultHeaders = {
|
|
23
|
+
'Content-Type': 'application/json',
|
|
24
|
+
Accept: 'application/json',
|
|
25
|
+
...config.headers,
|
|
26
|
+
};
|
|
27
|
+
this.defaultTimeout = config.timeout ?? 30000;
|
|
28
|
+
this.retryConfig = { ...retry_1.DEFAULT_RETRY_CONFIG, ...config.retry };
|
|
29
|
+
this.debug = config.debug ?? false;
|
|
30
|
+
this.logger = config.logger ?? config_1.defaultLogger;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Check if request logging is enabled
|
|
34
|
+
*/
|
|
35
|
+
shouldLogRequests() {
|
|
36
|
+
return this.debug === true || this.debug === 'all' || this.debug === 'requests';
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if response logging is enabled
|
|
40
|
+
*/
|
|
41
|
+
shouldLogResponses() {
|
|
42
|
+
return this.debug === true || this.debug === 'all' || this.debug === 'responses';
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Check if error logging is enabled
|
|
46
|
+
*/
|
|
47
|
+
shouldLogErrors() {
|
|
48
|
+
return this.debug === true || this.debug === 'all' || this.debug === 'errors';
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Log a request
|
|
52
|
+
*/
|
|
53
|
+
logRequest(method, url, body) {
|
|
54
|
+
if (this.shouldLogRequests()) {
|
|
55
|
+
this.logger.debug(`→ ${method} ${url}`, body ? { body: this.sanitizeBody(body) } : undefined);
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Log a response
|
|
60
|
+
*/
|
|
61
|
+
logResponse(method, url, status, duration) {
|
|
62
|
+
if (this.shouldLogResponses()) {
|
|
63
|
+
this.logger.debug(`← ${method} ${url} ${status} (${duration}ms)`);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Log an error
|
|
68
|
+
*/
|
|
69
|
+
logError(method, url, error) {
|
|
70
|
+
if (this.shouldLogErrors()) {
|
|
71
|
+
this.logger.error(`✗ ${method} ${url} - ${error.code}: ${error.message}`, {
|
|
72
|
+
code: error.code,
|
|
73
|
+
status: error.status,
|
|
74
|
+
requestId: error.requestId,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Sanitize request body for logging (remove sensitive data)
|
|
80
|
+
*/
|
|
81
|
+
sanitizeBody(body) {
|
|
82
|
+
if (typeof body !== 'object' || body === null) {
|
|
83
|
+
return body;
|
|
84
|
+
}
|
|
85
|
+
// Remove potentially sensitive fields from logs
|
|
86
|
+
const sanitized = { ...body };
|
|
87
|
+
const sensitiveKeys = ['apiKey', 'api_key', 'secret', 'password', 'token'];
|
|
88
|
+
for (const key of sensitiveKeys) {
|
|
89
|
+
if (key in sanitized) {
|
|
90
|
+
sanitized[key] = '[REDACTED]';
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return sanitized;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Add a request interceptor
|
|
97
|
+
*/
|
|
98
|
+
addRequestInterceptor(interceptor) {
|
|
99
|
+
this.requestInterceptors.push(interceptor);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Add a response interceptor
|
|
103
|
+
*/
|
|
104
|
+
addResponseInterceptor(interceptor) {
|
|
105
|
+
this.responseInterceptors.push(interceptor);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Add an error interceptor
|
|
109
|
+
*/
|
|
110
|
+
addErrorInterceptor(interceptor) {
|
|
111
|
+
this.errorInterceptors.push(interceptor);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Make a GET request
|
|
115
|
+
*/
|
|
116
|
+
async get(path, config) {
|
|
117
|
+
return this.request(path, { ...config, method: 'GET' });
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Make a POST request
|
|
121
|
+
*/
|
|
122
|
+
async post(path, body, config) {
|
|
123
|
+
return this.request(path, { ...config, method: 'POST', body });
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Make a PUT request
|
|
127
|
+
*/
|
|
128
|
+
async put(path, body, config) {
|
|
129
|
+
return this.request(path, { ...config, method: 'PUT', body });
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Make a PATCH request
|
|
133
|
+
*/
|
|
134
|
+
async patch(path, body, config) {
|
|
135
|
+
return this.request(path, { ...config, method: 'PATCH', body });
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Make a DELETE request
|
|
139
|
+
*/
|
|
140
|
+
async delete(path, config) {
|
|
141
|
+
return this.request(path, { ...config, method: 'DELETE' });
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Make an HTTP request with retry support
|
|
145
|
+
*/
|
|
146
|
+
async request(path, config = {}) {
|
|
147
|
+
const url = `${this.baseUrl}${path.startsWith('/') ? path : `/${path}`}`;
|
|
148
|
+
// Apply request interceptors
|
|
149
|
+
let finalConfig = { ...config };
|
|
150
|
+
for (const interceptor of this.requestInterceptors) {
|
|
151
|
+
finalConfig = await interceptor(url, finalConfig);
|
|
152
|
+
}
|
|
153
|
+
let lastError;
|
|
154
|
+
let attempt = 0;
|
|
155
|
+
while (attempt <= this.retryConfig.maxRetries) {
|
|
156
|
+
try {
|
|
157
|
+
const response = await this.executeRequest(url, finalConfig);
|
|
158
|
+
// Apply response interceptors
|
|
159
|
+
let finalResponse = response;
|
|
160
|
+
for (const interceptor of this.responseInterceptors) {
|
|
161
|
+
finalResponse = (await interceptor(finalResponse));
|
|
162
|
+
}
|
|
163
|
+
return finalResponse;
|
|
164
|
+
}
|
|
165
|
+
catch (error) {
|
|
166
|
+
lastError = error instanceof errors_1.WebacyError ? error : this.wrapError(error);
|
|
167
|
+
// Apply error interceptors
|
|
168
|
+
for (const interceptor of this.errorInterceptors) {
|
|
169
|
+
lastError = await interceptor(lastError);
|
|
170
|
+
}
|
|
171
|
+
// Check if we should retry
|
|
172
|
+
if (!lastError.isRetryable() || attempt >= this.retryConfig.maxRetries) {
|
|
173
|
+
throw lastError;
|
|
174
|
+
}
|
|
175
|
+
// Calculate retry delay
|
|
176
|
+
const retryAfter = lastError instanceof errors_1.RateLimitError ? lastError.retryAfter : undefined;
|
|
177
|
+
const delay = (0, retry_1.calculateRetryDelay)(attempt, this.retryConfig, retryAfter);
|
|
178
|
+
await (0, retry_1.sleep)(delay);
|
|
179
|
+
attempt++;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
throw lastError ?? new errors_1.NetworkError('Request failed after all retries');
|
|
183
|
+
}
|
|
184
|
+
/**
|
|
185
|
+
* Execute a single HTTP request
|
|
186
|
+
*/
|
|
187
|
+
async executeRequest(url, config) {
|
|
188
|
+
const method = config.method ?? 'GET';
|
|
189
|
+
const timeout = config.timeout ?? this.defaultTimeout;
|
|
190
|
+
const controller = new AbortController();
|
|
191
|
+
const timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
192
|
+
const startTime = Date.now();
|
|
193
|
+
// Log the outgoing request
|
|
194
|
+
this.logRequest(method, url, config.body);
|
|
195
|
+
// Combine abort signals if user provided one
|
|
196
|
+
const signal = config.signal
|
|
197
|
+
? this.combineAbortSignals(config.signal, controller.signal)
|
|
198
|
+
: controller.signal;
|
|
199
|
+
try {
|
|
200
|
+
const response = await fetch(url, {
|
|
201
|
+
method,
|
|
202
|
+
headers: {
|
|
203
|
+
...this.defaultHeaders,
|
|
204
|
+
...config.headers,
|
|
205
|
+
},
|
|
206
|
+
body: config.body ? JSON.stringify(config.body) : undefined,
|
|
207
|
+
signal,
|
|
208
|
+
});
|
|
209
|
+
clearTimeout(timeoutId);
|
|
210
|
+
const duration = Date.now() - startTime;
|
|
211
|
+
const requestId = response.headers.get('x-request-id') ?? undefined;
|
|
212
|
+
// Handle non-OK responses
|
|
213
|
+
if (!response.ok) {
|
|
214
|
+
const error = await this.createErrorFromResponse(response, requestId, url);
|
|
215
|
+
this.logError(method, url, error);
|
|
216
|
+
throw error;
|
|
217
|
+
}
|
|
218
|
+
// Log successful response
|
|
219
|
+
this.logResponse(method, url, response.status, duration);
|
|
220
|
+
// Parse response body
|
|
221
|
+
const contentType = response.headers.get('content-type');
|
|
222
|
+
let data;
|
|
223
|
+
if (contentType?.includes('application/json')) {
|
|
224
|
+
data = (await response.json());
|
|
225
|
+
}
|
|
226
|
+
else {
|
|
227
|
+
data = (await response.text());
|
|
228
|
+
}
|
|
229
|
+
return {
|
|
230
|
+
data,
|
|
231
|
+
status: response.status,
|
|
232
|
+
headers: response.headers,
|
|
233
|
+
requestId,
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
catch (error) {
|
|
237
|
+
clearTimeout(timeoutId);
|
|
238
|
+
if (error instanceof errors_1.WebacyError) {
|
|
239
|
+
throw error;
|
|
240
|
+
}
|
|
241
|
+
// Handle fetch errors
|
|
242
|
+
let networkError;
|
|
243
|
+
if (error instanceof Error) {
|
|
244
|
+
if (error.name === 'AbortError') {
|
|
245
|
+
networkError = new errors_1.NetworkError('Request timed out', { cause: error, endpoint: url });
|
|
246
|
+
}
|
|
247
|
+
else {
|
|
248
|
+
networkError = new errors_1.NetworkError(error.message, { cause: error, endpoint: url });
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
else {
|
|
252
|
+
networkError = new errors_1.NetworkError('An unknown error occurred', { endpoint: url });
|
|
253
|
+
}
|
|
254
|
+
this.logError(method, url, networkError);
|
|
255
|
+
throw networkError;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Create an appropriate error from an HTTP response
|
|
260
|
+
*/
|
|
261
|
+
async createErrorFromResponse(response, requestId, endpoint) {
|
|
262
|
+
let errorBody = {};
|
|
263
|
+
try {
|
|
264
|
+
errorBody = (await response.json());
|
|
265
|
+
}
|
|
266
|
+
catch {
|
|
267
|
+
// Ignore JSON parse errors
|
|
268
|
+
}
|
|
269
|
+
const message = errorBody.message ?? errorBody.error ?? response.statusText;
|
|
270
|
+
switch (response.status) {
|
|
271
|
+
case 401:
|
|
272
|
+
case 403:
|
|
273
|
+
return new errors_1.AuthenticationError(message, { requestId, endpoint });
|
|
274
|
+
case 404:
|
|
275
|
+
return new errors_1.NotFoundError(message, { requestId, endpoint });
|
|
276
|
+
case 429: {
|
|
277
|
+
const retryAfter = response.headers.get('retry-after');
|
|
278
|
+
const resetAt = response.headers.get('x-ratelimit-reset');
|
|
279
|
+
return new errors_1.RateLimitError(message, {
|
|
280
|
+
retryAfter: retryAfter ? parseInt(retryAfter, 10) : undefined,
|
|
281
|
+
resetAt: resetAt ? parseInt(resetAt, 10) : undefined,
|
|
282
|
+
requestId,
|
|
283
|
+
endpoint,
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
case 400:
|
|
287
|
+
return new errors_1.ValidationError(message, {
|
|
288
|
+
errors: errorBody.errors,
|
|
289
|
+
requestId,
|
|
290
|
+
endpoint,
|
|
291
|
+
});
|
|
292
|
+
default:
|
|
293
|
+
if ((0, retry_1.isRetryableStatusCode)(response.status, this.retryConfig)) {
|
|
294
|
+
return new errors_1.NetworkError(message, {
|
|
295
|
+
cause: new Error(`HTTP ${response.status}`),
|
|
296
|
+
endpoint,
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
return new errors_1.WebacyError(message, {
|
|
300
|
+
status: response.status,
|
|
301
|
+
code: 'API_ERROR',
|
|
302
|
+
requestId,
|
|
303
|
+
endpoint,
|
|
304
|
+
});
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
/**
|
|
308
|
+
* Wrap an unknown error in a WebacyError
|
|
309
|
+
*/
|
|
310
|
+
wrapError(error) {
|
|
311
|
+
if (error instanceof errors_1.WebacyError) {
|
|
312
|
+
return error;
|
|
313
|
+
}
|
|
314
|
+
if (error instanceof Error) {
|
|
315
|
+
return new errors_1.NetworkError(error.message, { cause: error });
|
|
316
|
+
}
|
|
317
|
+
return new errors_1.NetworkError('An unknown error occurred');
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Combine multiple abort signals
|
|
321
|
+
*/
|
|
322
|
+
combineAbortSignals(...signals) {
|
|
323
|
+
const controller = new AbortController();
|
|
324
|
+
for (const signal of signals) {
|
|
325
|
+
if (signal.aborted) {
|
|
326
|
+
controller.abort(signal.reason);
|
|
327
|
+
break;
|
|
328
|
+
}
|
|
329
|
+
signal.addEventListener('abort', () => controller.abort(signal.reason), { once: true });
|
|
330
|
+
}
|
|
331
|
+
return controller.signal;
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
exports.HttpClient = HttpClient;
|
|
335
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/http/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.sleep = exports.isRetryableStatusCode = exports.calculateRetryDelay = exports.DEFAULT_RETRY_CONFIG = exports.HttpClient = void 0;
|
|
4
|
+
var client_1 = require("./client");
|
|
5
|
+
Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return client_1.HttpClient; } });
|
|
6
|
+
var retry_1 = require("./retry");
|
|
7
|
+
Object.defineProperty(exports, "DEFAULT_RETRY_CONFIG", { enumerable: true, get: function () { return retry_1.DEFAULT_RETRY_CONFIG; } });
|
|
8
|
+
Object.defineProperty(exports, "calculateRetryDelay", { enumerable: true, get: function () { return retry_1.calculateRetryDelay; } });
|
|
9
|
+
Object.defineProperty(exports, "isRetryableStatusCode", { enumerable: true, get: function () { return retry_1.isRetryableStatusCode; } });
|
|
10
|
+
Object.defineProperty(exports, "sleep", { enumerable: true, get: function () { return retry_1.sleep; } });
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http/index.ts"],"names":[],"mappings":";;;AAAA,mCAQkB;AAPhB,oGAAA,UAAU,OAAA;AASZ,iCAMiB;AAJf,6GAAA,oBAAoB,OAAA;AACpB,4GAAA,mBAAmB,OAAA;AACnB,8GAAA,qBAAqB,OAAA;AACrB,8FAAA,KAAK,OAAA"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_RETRY_CONFIG = void 0;
|
|
4
|
+
exports.calculateRetryDelay = calculateRetryDelay;
|
|
5
|
+
exports.isRetryableStatusCode = isRetryableStatusCode;
|
|
6
|
+
exports.sleep = sleep;
|
|
7
|
+
/**
|
|
8
|
+
* Default retry configuration
|
|
9
|
+
*/
|
|
10
|
+
exports.DEFAULT_RETRY_CONFIG = {
|
|
11
|
+
maxRetries: 3,
|
|
12
|
+
initialDelay: 1000,
|
|
13
|
+
maxDelay: 30000,
|
|
14
|
+
backoffMultiplier: 2,
|
|
15
|
+
retryableStatusCodes: [408, 429, 500, 502, 503, 504],
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* Calculate delay for a retry attempt using exponential backoff with jitter
|
|
19
|
+
*/
|
|
20
|
+
function calculateRetryDelay(attempt, config, retryAfter) {
|
|
21
|
+
// If server provided Retry-After, use it
|
|
22
|
+
if (retryAfter && retryAfter > 0) {
|
|
23
|
+
return Math.min(retryAfter * 1000, config.maxDelay);
|
|
24
|
+
}
|
|
25
|
+
// Exponential backoff with jitter
|
|
26
|
+
const exponentialDelay = config.initialDelay * Math.pow(config.backoffMultiplier, attempt);
|
|
27
|
+
const jitter = Math.random() * 0.3 * exponentialDelay; // 30% jitter
|
|
28
|
+
const delay = exponentialDelay + jitter;
|
|
29
|
+
return Math.min(delay, config.maxDelay);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Check if a status code is retryable
|
|
33
|
+
*/
|
|
34
|
+
function isRetryableStatusCode(statusCode, config) {
|
|
35
|
+
return config.retryableStatusCodes.includes(statusCode);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Sleep for a given number of milliseconds
|
|
39
|
+
*/
|
|
40
|
+
function sleep(ms) {
|
|
41
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=retry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../src/http/retry.ts"],"names":[],"mappings":";;;AA8BA,kDAgBC;AAKD,sDAEC;AAKD,sBAEC;AA5CD;;GAEG;AACU,QAAA,oBAAoB,GAAgB;IAC/C,UAAU,EAAE,CAAC;IACb,YAAY,EAAE,IAAI;IAClB,QAAQ,EAAE,KAAK;IACf,iBAAiB,EAAE,CAAC;IACpB,oBAAoB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;CACrD,CAAC;AAEF;;GAEG;AACH,SAAgB,mBAAmB,CACjC,OAAe,EACf,MAAmB,EACnB,UAAmB;IAEnB,yCAAyC;IACzC,IAAI,UAAU,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtD,CAAC;IAED,kCAAkC;IAClC,MAAM,gBAAgB,GAAG,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,iBAAiB,EAAE,OAAO,CAAC,CAAC;IAC3F,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,gBAAgB,CAAC,CAAC,aAAa;IACpE,MAAM,KAAK,GAAG,gBAAgB,GAAG,MAAM,CAAC;IAExC,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,UAAkB,EAAE,MAAmB;IAC3E,OAAO,MAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;AAC1D,CAAC;AAED;;GAEG;AACH,SAAgB,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeEvmAddress = exports.normalizeAddress = exports.isValidStellarAddress = exports.isValidSuiAddress = exports.isValidTonAddress = exports.isValidBitcoinAddress = exports.isValidSolanaAddress = exports.isValidEvmAddress = exports.isValidAddress = exports.TokenStandard = exports.TypeOfAddress = exports.RiskLevel = exports.RiskScore = exports.RiskModule = exports.CHAIN_NAMES = exports.CHAIN_IDS = exports.isEvmChain = exports.getChainCompatibility = exports.ChainCompatibility = exports.Chain = exports.NetworkError = exports.NotFoundError = exports.ValidationError = exports.RateLimitError = exports.AuthenticationError = exports.WebacyError = exports.DEFAULT_RETRY_CONFIG = exports.HttpClient = exports.BaseClient = exports.defaultLogger = exports.buildBaseUrl = exports.DEFAULT_CONFIG = void 0;
|
|
4
|
+
// Configuration
|
|
5
|
+
var config_1 = require("./config");
|
|
6
|
+
Object.defineProperty(exports, "DEFAULT_CONFIG", { enumerable: true, get: function () { return config_1.DEFAULT_CONFIG; } });
|
|
7
|
+
Object.defineProperty(exports, "buildBaseUrl", { enumerable: true, get: function () { return config_1.buildBaseUrl; } });
|
|
8
|
+
Object.defineProperty(exports, "defaultLogger", { enumerable: true, get: function () { return config_1.defaultLogger; } });
|
|
9
|
+
// Base client
|
|
10
|
+
var client_base_1 = require("./client-base");
|
|
11
|
+
Object.defineProperty(exports, "BaseClient", { enumerable: true, get: function () { return client_base_1.BaseClient; } });
|
|
12
|
+
// HTTP client
|
|
13
|
+
var http_1 = require("./http");
|
|
14
|
+
Object.defineProperty(exports, "HttpClient", { enumerable: true, get: function () { return http_1.HttpClient; } });
|
|
15
|
+
Object.defineProperty(exports, "DEFAULT_RETRY_CONFIG", { enumerable: true, get: function () { return http_1.DEFAULT_RETRY_CONFIG; } });
|
|
16
|
+
// Errors
|
|
17
|
+
var errors_1 = require("./errors");
|
|
18
|
+
Object.defineProperty(exports, "WebacyError", { enumerable: true, get: function () { return errors_1.WebacyError; } });
|
|
19
|
+
Object.defineProperty(exports, "AuthenticationError", { enumerable: true, get: function () { return errors_1.AuthenticationError; } });
|
|
20
|
+
Object.defineProperty(exports, "RateLimitError", { enumerable: true, get: function () { return errors_1.RateLimitError; } });
|
|
21
|
+
Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return errors_1.ValidationError; } });
|
|
22
|
+
Object.defineProperty(exports, "NotFoundError", { enumerable: true, get: function () { return errors_1.NotFoundError; } });
|
|
23
|
+
Object.defineProperty(exports, "NetworkError", { enumerable: true, get: function () { return errors_1.NetworkError; } });
|
|
24
|
+
// Types
|
|
25
|
+
var types_1 = require("./types");
|
|
26
|
+
Object.defineProperty(exports, "Chain", { enumerable: true, get: function () { return types_1.Chain; } });
|
|
27
|
+
Object.defineProperty(exports, "ChainCompatibility", { enumerable: true, get: function () { return types_1.ChainCompatibility; } });
|
|
28
|
+
Object.defineProperty(exports, "getChainCompatibility", { enumerable: true, get: function () { return types_1.getChainCompatibility; } });
|
|
29
|
+
Object.defineProperty(exports, "isEvmChain", { enumerable: true, get: function () { return types_1.isEvmChain; } });
|
|
30
|
+
Object.defineProperty(exports, "CHAIN_IDS", { enumerable: true, get: function () { return types_1.CHAIN_IDS; } });
|
|
31
|
+
Object.defineProperty(exports, "CHAIN_NAMES", { enumerable: true, get: function () { return types_1.CHAIN_NAMES; } });
|
|
32
|
+
Object.defineProperty(exports, "RiskModule", { enumerable: true, get: function () { return types_1.RiskModule; } });
|
|
33
|
+
Object.defineProperty(exports, "RiskScore", { enumerable: true, get: function () { return types_1.RiskScore; } });
|
|
34
|
+
Object.defineProperty(exports, "RiskLevel", { enumerable: true, get: function () { return types_1.RiskLevel; } });
|
|
35
|
+
Object.defineProperty(exports, "TypeOfAddress", { enumerable: true, get: function () { return types_1.TypeOfAddress; } });
|
|
36
|
+
Object.defineProperty(exports, "TokenStandard", { enumerable: true, get: function () { return types_1.TokenStandard; } });
|
|
37
|
+
// Utilities
|
|
38
|
+
var utils_1 = require("./utils");
|
|
39
|
+
Object.defineProperty(exports, "isValidAddress", { enumerable: true, get: function () { return utils_1.isValidAddress; } });
|
|
40
|
+
Object.defineProperty(exports, "isValidEvmAddress", { enumerable: true, get: function () { return utils_1.isValidEvmAddress; } });
|
|
41
|
+
Object.defineProperty(exports, "isValidSolanaAddress", { enumerable: true, get: function () { return utils_1.isValidSolanaAddress; } });
|
|
42
|
+
Object.defineProperty(exports, "isValidBitcoinAddress", { enumerable: true, get: function () { return utils_1.isValidBitcoinAddress; } });
|
|
43
|
+
Object.defineProperty(exports, "isValidTonAddress", { enumerable: true, get: function () { return utils_1.isValidTonAddress; } });
|
|
44
|
+
Object.defineProperty(exports, "isValidSuiAddress", { enumerable: true, get: function () { return utils_1.isValidSuiAddress; } });
|
|
45
|
+
Object.defineProperty(exports, "isValidStellarAddress", { enumerable: true, get: function () { return utils_1.isValidStellarAddress; } });
|
|
46
|
+
Object.defineProperty(exports, "normalizeAddress", { enumerable: true, get: function () { return utils_1.normalizeAddress; } });
|
|
47
|
+
Object.defineProperty(exports, "normalizeEvmAddress", { enumerable: true, get: function () { return utils_1.normalizeEvmAddress; } });
|
|
48
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,gBAAgB;AAChB,mCAOkB;AALhB,wGAAA,cAAc,OAAA;AACd,sGAAA,YAAY,OAAA;AAGZ,uGAAA,aAAa,OAAA;AAGf,cAAc;AACd,6CAA2C;AAAlC,yGAAA,UAAU,OAAA;AAEnB,cAAc;AACd,+BAUgB;AATd,kGAAA,UAAU,OAAA;AAQV,4GAAA,oBAAoB,OAAA;AAGtB,SAAS;AACT,mCAOkB;AANhB,qGAAA,WAAW,OAAA;AACX,6GAAA,mBAAmB,OAAA;AACnB,wGAAA,cAAc,OAAA;AACd,yGAAA,eAAe,OAAA;AACf,uGAAA,aAAa,OAAA;AACb,sGAAA,YAAY,OAAA;AAGd,QAAQ;AACR,iCA2BiB;AA1Bf,8FAAA,KAAK,OAAA;AACL,2GAAA,kBAAkB,OAAA;AAClB,8GAAA,qBAAqB,OAAA;AACrB,mGAAA,UAAU,OAAA;AACV,kGAAA,SAAS,OAAA;AACT,oGAAA,WAAW,OAAA;AACX,mGAAA,UAAU,OAAA;AACV,kGAAA,SAAS,OAAA;AACT,kGAAA,SAAS,OAAA;AACT,sGAAA,aAAa,OAAA;AACb,sGAAA,aAAa,OAAA;AAkBf,YAAY;AACZ,iCAUiB;AATf,uGAAA,cAAc,OAAA;AACd,0GAAA,iBAAiB,OAAA;AACjB,6GAAA,oBAAoB,OAAA;AACpB,8GAAA,qBAAqB,OAAA;AACrB,0GAAA,iBAAiB,OAAA;AACjB,0GAAA,iBAAiB,OAAA;AACjB,8GAAA,qBAAqB,OAAA;AACrB,yGAAA,gBAAgB,OAAA;AAChB,4GAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"type":"commonjs"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CHAIN_NAMES = exports.CHAIN_IDS = exports.ChainCompatibility = exports.Chain = void 0;
|
|
4
|
+
exports.getChainCompatibility = getChainCompatibility;
|
|
5
|
+
exports.isEvmChain = isEvmChain;
|
|
6
|
+
/**
|
|
7
|
+
* Supported blockchain networks
|
|
8
|
+
*/
|
|
9
|
+
var Chain;
|
|
10
|
+
(function (Chain) {
|
|
11
|
+
/** Ethereum Mainnet */
|
|
12
|
+
Chain["ETH"] = "eth";
|
|
13
|
+
/** Ethereum Sepolia Testnet */
|
|
14
|
+
Chain["SEP"] = "sep";
|
|
15
|
+
/** Arbitrum One */
|
|
16
|
+
Chain["ARB"] = "arb";
|
|
17
|
+
/** Polygon (MATIC) */
|
|
18
|
+
Chain["POL"] = "pol";
|
|
19
|
+
/** Solana */
|
|
20
|
+
Chain["SOL"] = "sol";
|
|
21
|
+
/** Optimism */
|
|
22
|
+
Chain["OPT"] = "opt";
|
|
23
|
+
/** Base */
|
|
24
|
+
Chain["BASE"] = "base";
|
|
25
|
+
/** BNB Smart Chain */
|
|
26
|
+
Chain["BSC"] = "bsc";
|
|
27
|
+
/** TON (The Open Network) */
|
|
28
|
+
Chain["TON"] = "ton";
|
|
29
|
+
/** Sei */
|
|
30
|
+
Chain["SEI"] = "sei";
|
|
31
|
+
/** Bitcoin */
|
|
32
|
+
Chain["BTC"] = "btc";
|
|
33
|
+
/** Sui */
|
|
34
|
+
Chain["SUI"] = "sui";
|
|
35
|
+
/** Stellar */
|
|
36
|
+
Chain["STELLAR"] = "stellar";
|
|
37
|
+
})(Chain || (exports.Chain = Chain = {}));
|
|
38
|
+
/**
|
|
39
|
+
* Chain compatibility groups for feature detection
|
|
40
|
+
*/
|
|
41
|
+
var ChainCompatibility;
|
|
42
|
+
(function (ChainCompatibility) {
|
|
43
|
+
ChainCompatibility["EVM"] = "EVM";
|
|
44
|
+
ChainCompatibility["SOLANA"] = "SOLANA";
|
|
45
|
+
ChainCompatibility["TON"] = "TON";
|
|
46
|
+
ChainCompatibility["BTC"] = "BTC";
|
|
47
|
+
ChainCompatibility["SEI"] = "SEI";
|
|
48
|
+
ChainCompatibility["SUI"] = "SUI";
|
|
49
|
+
ChainCompatibility["STELLAR"] = "STELLAR";
|
|
50
|
+
})(ChainCompatibility || (exports.ChainCompatibility = ChainCompatibility = {}));
|
|
51
|
+
/**
|
|
52
|
+
* Get the compatibility group for a chain
|
|
53
|
+
*/
|
|
54
|
+
function getChainCompatibility(chain) {
|
|
55
|
+
switch (chain) {
|
|
56
|
+
case Chain.ETH:
|
|
57
|
+
case Chain.SEP:
|
|
58
|
+
case Chain.ARB:
|
|
59
|
+
case Chain.POL:
|
|
60
|
+
case Chain.OPT:
|
|
61
|
+
case Chain.BASE:
|
|
62
|
+
case Chain.BSC:
|
|
63
|
+
return ChainCompatibility.EVM;
|
|
64
|
+
case Chain.SOL:
|
|
65
|
+
return ChainCompatibility.SOLANA;
|
|
66
|
+
case Chain.TON:
|
|
67
|
+
return ChainCompatibility.TON;
|
|
68
|
+
case Chain.BTC:
|
|
69
|
+
return ChainCompatibility.BTC;
|
|
70
|
+
case Chain.SEI:
|
|
71
|
+
return ChainCompatibility.SEI;
|
|
72
|
+
case Chain.SUI:
|
|
73
|
+
return ChainCompatibility.SUI;
|
|
74
|
+
case Chain.STELLAR:
|
|
75
|
+
return ChainCompatibility.STELLAR;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Check if a chain is EVM-compatible
|
|
80
|
+
*/
|
|
81
|
+
function isEvmChain(chain) {
|
|
82
|
+
return getChainCompatibility(chain) === ChainCompatibility.EVM;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Chain ID mapping for EVM chains
|
|
86
|
+
*/
|
|
87
|
+
exports.CHAIN_IDS = {
|
|
88
|
+
[Chain.ETH]: 1,
|
|
89
|
+
[Chain.SEP]: 11155111,
|
|
90
|
+
[Chain.BSC]: 56,
|
|
91
|
+
[Chain.POL]: 137,
|
|
92
|
+
[Chain.OPT]: 10,
|
|
93
|
+
[Chain.ARB]: 42161,
|
|
94
|
+
[Chain.BASE]: 8453,
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Human-readable chain names
|
|
98
|
+
*/
|
|
99
|
+
exports.CHAIN_NAMES = {
|
|
100
|
+
[Chain.ETH]: 'Ethereum',
|
|
101
|
+
[Chain.SEP]: 'Sepolia',
|
|
102
|
+
[Chain.ARB]: 'Arbitrum',
|
|
103
|
+
[Chain.POL]: 'Polygon',
|
|
104
|
+
[Chain.SOL]: 'Solana',
|
|
105
|
+
[Chain.OPT]: 'Optimism',
|
|
106
|
+
[Chain.BASE]: 'Base',
|
|
107
|
+
[Chain.BSC]: 'BNB Smart Chain',
|
|
108
|
+
[Chain.TON]: 'TON',
|
|
109
|
+
[Chain.SEI]: 'Sei',
|
|
110
|
+
[Chain.BTC]: 'Bitcoin',
|
|
111
|
+
[Chain.SUI]: 'Sui',
|
|
112
|
+
[Chain.STELLAR]: 'Stellar',
|
|
113
|
+
};
|
|
114
|
+
//# sourceMappingURL=chain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chain.js","sourceRoot":"","sources":["../../../src/types/chain.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TokenStandard = exports.TypeOfAddress = exports.RiskLevel = exports.RiskScore = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Risk score classification
|
|
6
|
+
*/
|
|
7
|
+
var RiskScore;
|
|
8
|
+
(function (RiskScore) {
|
|
9
|
+
RiskScore["HIGH"] = "High Risk";
|
|
10
|
+
RiskScore["MEDIUM"] = "Medium Risk";
|
|
11
|
+
RiskScore["LOW"] = "Low Risk";
|
|
12
|
+
RiskScore["TRUSTED"] = "Trusted";
|
|
13
|
+
RiskScore["UNKNOWN"] = "Unknown";
|
|
14
|
+
})(RiskScore || (exports.RiskScore = RiskScore = {}));
|
|
15
|
+
/**
|
|
16
|
+
* Risk level enum
|
|
17
|
+
*/
|
|
18
|
+
var RiskLevel;
|
|
19
|
+
(function (RiskLevel) {
|
|
20
|
+
RiskLevel["Low"] = "low";
|
|
21
|
+
RiskLevel["Medium"] = "medium";
|
|
22
|
+
RiskLevel["High"] = "high";
|
|
23
|
+
RiskLevel["Suspicious"] = "suspicious";
|
|
24
|
+
})(RiskLevel || (exports.RiskLevel = RiskLevel = {}));
|
|
25
|
+
/**
|
|
26
|
+
* Address type classification
|
|
27
|
+
*/
|
|
28
|
+
var TypeOfAddress;
|
|
29
|
+
(function (TypeOfAddress) {
|
|
30
|
+
TypeOfAddress["EOA"] = "EOA";
|
|
31
|
+
TypeOfAddress["CONTRACT"] = "CONTRACT";
|
|
32
|
+
TypeOfAddress["TOKEN"] = "TOKEN";
|
|
33
|
+
TypeOfAddress["CONTRACT_WALLET"] = "CONTRACT_WALLET";
|
|
34
|
+
TypeOfAddress["MULTISIG"] = "MULTISIG";
|
|
35
|
+
})(TypeOfAddress || (exports.TypeOfAddress = TypeOfAddress = {}));
|
|
36
|
+
/**
|
|
37
|
+
* Token standard
|
|
38
|
+
*/
|
|
39
|
+
var TokenStandard;
|
|
40
|
+
(function (TokenStandard) {
|
|
41
|
+
TokenStandard["ERC20"] = "ERC20";
|
|
42
|
+
TokenStandard["ERC721"] = "ERC721";
|
|
43
|
+
TokenStandard["ERC1155"] = "ERC1155";
|
|
44
|
+
TokenStandard["SPL"] = "SPL";
|
|
45
|
+
TokenStandard["JETTON"] = "JETTON";
|
|
46
|
+
TokenStandard["STELLAR_ASSET"] = "STELLAR_ASSET";
|
|
47
|
+
TokenStandard["SUI_COIN"] = "SUI_COIN";
|
|
48
|
+
})(TokenStandard || (exports.TokenStandard = TokenStandard = {}));
|
|
49
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":";;;AA8CA;;GAEG;AACH,IAAY,SAMX;AAND,WAAY,SAAS;IACnB,+BAAkB,CAAA;IAClB,mCAAsB,CAAA;IACtB,6BAAgB,CAAA;IAChB,gCAAmB,CAAA;IACnB,gCAAmB,CAAA;AACrB,CAAC,EANW,SAAS,yBAAT,SAAS,QAMpB;AAED;;GAEG;AACH,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,8BAAiB,CAAA;IACjB,0BAAa,CAAA;IACb,sCAAyB,CAAA;AAC3B,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB;AA2ID;;GAEG;AACH,IAAY,aAMX;AAND,WAAY,aAAa;IACvB,4BAAW,CAAA;IACX,sCAAqB,CAAA;IACrB,gCAAe,CAAA;IACf,oDAAmC,CAAA;IACnC,sCAAqB,CAAA;AACvB,CAAC,EANW,aAAa,6BAAb,aAAa,QAMxB;AAED;;GAEG;AACH,IAAY,aAQX;AARD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,kCAAiB,CAAA;IACjB,oCAAmB,CAAA;IACnB,4BAAW,CAAA;IACX,kCAAiB,CAAA;IACjB,gDAA+B,CAAA;IAC/B,sCAAqB,CAAA;AACvB,CAAC,EARW,aAAa,6BAAb,aAAa,QAQxB"}
|