@xylabs/sdk-js 2.3.18 → 2.3.19

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 (93) hide show
  1. package/dist/esm2017/index.d.ts +1 -0
  2. package/dist/esm2017/index.js +222 -0
  3. package/dist/esm2017/index.js.map +1 -0
  4. package/dist/esm2017/index.node.d.ts +1 -0
  5. package/dist/esm2017/src/ApiClient.d.ts +8 -0
  6. package/dist/esm2017/src/ApiConfig.d.ts +6 -0
  7. package/dist/esm2017/src/ApiEndpoint.d.ts +14 -0
  8. package/dist/esm2017/src/ApiEndpoint.spec.d.ts +1 -0
  9. package/dist/esm2017/src/ApiStage.d.ts +6 -0
  10. package/dist/esm2017/src/BigNumber.d.ts +2 -0
  11. package/dist/esm2017/src/EthAddress.d.ts +19 -0
  12. package/dist/esm2017/src/EthAddress.spec.d.ts +1 -0
  13. package/dist/esm2017/src/Log.d.ts +17 -0
  14. package/dist/esm2017/src/Log.spec.d.ts +1 -0
  15. package/dist/esm2017/src/Override.d.ts +2 -0
  16. package/dist/esm2017/src/assertEx.d.ts +11 -0
  17. package/dist/esm2017/src/delay.d.ts +1 -0
  18. package/dist/esm2017/src/delay.spec.d.ts +1 -0
  19. package/dist/esm2017/src/getApiStage.d.ts +3 -0
  20. package/dist/esm2017/src/getApiStage.spec.d.ts +1 -0
  21. package/dist/esm2017/src/index.d.ts +13 -0
  22. package/dist/esm2017/src/padHex.d.ts +2 -0
  23. package/dist/esm5/index.d.ts +1 -0
  24. package/dist/esm5/index.js +378 -0
  25. package/dist/esm5/index.js.map +1 -0
  26. package/dist/esm5/index.node.d.ts +1 -0
  27. package/dist/esm5/src/ApiClient.d.ts +8 -0
  28. package/dist/esm5/src/ApiConfig.d.ts +6 -0
  29. package/dist/esm5/src/ApiEndpoint.d.ts +14 -0
  30. package/dist/esm5/src/ApiEndpoint.spec.d.ts +1 -0
  31. package/dist/esm5/src/ApiStage.d.ts +6 -0
  32. package/dist/esm5/src/BigNumber.d.ts +2 -0
  33. package/dist/esm5/src/EthAddress.d.ts +19 -0
  34. package/dist/esm5/src/EthAddress.spec.d.ts +1 -0
  35. package/dist/esm5/src/Log.d.ts +17 -0
  36. package/dist/esm5/src/Log.spec.d.ts +1 -0
  37. package/dist/esm5/src/Override.d.ts +2 -0
  38. package/dist/esm5/src/assertEx.d.ts +11 -0
  39. package/dist/esm5/src/delay.d.ts +1 -0
  40. package/dist/esm5/src/delay.spec.d.ts +1 -0
  41. package/dist/esm5/src/getApiStage.d.ts +3 -0
  42. package/dist/esm5/src/getApiStage.spec.d.ts +1 -0
  43. package/dist/esm5/src/index.d.ts +13 -0
  44. package/dist/esm5/src/padHex.d.ts +2 -0
  45. package/dist/node/index.d.ts +1 -0
  46. package/dist/node/index.js +398 -0
  47. package/dist/node/index.js.map +1 -0
  48. package/dist/node/index.node.d.ts +1 -0
  49. package/dist/node/src/ApiClient.d.ts +8 -0
  50. package/dist/node/src/ApiConfig.d.ts +6 -0
  51. package/dist/node/src/ApiEndpoint.d.ts +14 -0
  52. package/dist/node/src/ApiEndpoint.spec.d.ts +1 -0
  53. package/dist/node/src/ApiStage.d.ts +6 -0
  54. package/dist/node/src/BigNumber.d.ts +2 -0
  55. package/dist/node/src/EthAddress.d.ts +19 -0
  56. package/dist/node/src/EthAddress.spec.d.ts +1 -0
  57. package/dist/node/src/Log.d.ts +17 -0
  58. package/dist/node/src/Log.spec.d.ts +1 -0
  59. package/dist/node/src/Override.d.ts +2 -0
  60. package/dist/node/src/assertEx.d.ts +11 -0
  61. package/dist/node/src/delay.d.ts +1 -0
  62. package/dist/node/src/delay.spec.d.ts +1 -0
  63. package/dist/node/src/getApiStage.d.ts +3 -0
  64. package/dist/node/src/getApiStage.spec.d.ts +1 -0
  65. package/dist/node/src/index.d.ts +13 -0
  66. package/dist/node/src/padHex.d.ts +2 -0
  67. package/dist/node-esm/index.d.ts +1 -0
  68. package/dist/node-esm/index.js +222 -0
  69. package/dist/node-esm/index.js.map +1 -0
  70. package/dist/node-esm/index.node.d.ts +1 -0
  71. package/dist/node-esm/package.json +1 -0
  72. package/dist/node-esm/src/ApiClient.d.ts +8 -0
  73. package/dist/node-esm/src/ApiConfig.d.ts +6 -0
  74. package/dist/node-esm/src/ApiEndpoint.d.ts +14 -0
  75. package/dist/node-esm/src/ApiEndpoint.spec.d.ts +1 -0
  76. package/dist/node-esm/src/ApiStage.d.ts +6 -0
  77. package/dist/node-esm/src/BigNumber.d.ts +2 -0
  78. package/dist/node-esm/src/EthAddress.d.ts +19 -0
  79. package/dist/node-esm/src/EthAddress.spec.d.ts +1 -0
  80. package/dist/node-esm/src/Log.d.ts +17 -0
  81. package/dist/node-esm/src/Log.spec.d.ts +1 -0
  82. package/dist/node-esm/src/Override.d.ts +2 -0
  83. package/dist/node-esm/src/assertEx.d.ts +11 -0
  84. package/dist/node-esm/src/delay.d.ts +1 -0
  85. package/dist/node-esm/src/delay.spec.d.ts +1 -0
  86. package/dist/node-esm/src/getApiStage.d.ts +3 -0
  87. package/dist/node-esm/src/getApiStage.spec.d.ts +1 -0
  88. package/dist/node-esm/src/index.d.ts +13 -0
  89. package/dist/node-esm/src/padHex.d.ts +2 -0
  90. package/index.node.ts +1 -0
  91. package/index.ts +1 -0
  92. package/package.json +26 -7
  93. package/rollup.config.js +123 -0
@@ -0,0 +1,378 @@
1
+ import axios from 'axios';
2
+ import BigNumber from 'bn.js';
3
+ export { default as BigNumber } from 'bn.js';
4
+ import Rollbar from 'rollbar';
5
+
6
+ var ApiStage;
7
+ (function (ApiStage) {
8
+ ApiStage["Beta"] = "beta";
9
+ ApiStage["Local"] = "local";
10
+ ApiStage["Prod"] = "prod";
11
+ })(ApiStage || (ApiStage = {}));
12
+
13
+ var ApiClient = /** @class */ (function () {
14
+ function ApiClient(token, stage) {
15
+ this.stage = stage !== null && stage !== void 0 ? stage : ApiStage.Prod;
16
+ this.token = token;
17
+ }
18
+ return ApiClient;
19
+ }());
20
+
21
+ /*! *****************************************************************************
22
+ Copyright (c) Microsoft Corporation.
23
+
24
+ Permission to use, copy, modify, and/or distribute this software for any
25
+ purpose with or without fee is hereby granted.
26
+
27
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
28
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
29
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
30
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
31
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
32
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
33
+ PERFORMANCE OF THIS SOFTWARE.
34
+ ***************************************************************************** */
35
+ /* global Reflect, Promise */
36
+
37
+ var extendStatics = function(d, b) {
38
+ extendStatics = Object.setPrototypeOf ||
39
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
40
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
41
+ return extendStatics(d, b);
42
+ };
43
+
44
+ function __extends(d, b) {
45
+ if (typeof b !== "function" && b !== null)
46
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
47
+ extendStatics(d, b);
48
+ function __() { this.constructor = d; }
49
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
50
+ }
51
+
52
+ var __assign = function() {
53
+ __assign = Object.assign || function __assign(t) {
54
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
55
+ s = arguments[i];
56
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
57
+ }
58
+ return t;
59
+ };
60
+ return __assign.apply(this, arguments);
61
+ };
62
+
63
+ function __awaiter(thisArg, _arguments, P, generator) {
64
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
65
+ return new (P || (P = Promise))(function (resolve, reject) {
66
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
67
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
68
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
69
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
70
+ });
71
+ }
72
+
73
+ function __generator(thisArg, body) {
74
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
75
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
76
+ function verb(n) { return function (v) { return step([n, v]); }; }
77
+ function step(op) {
78
+ if (f) throw new TypeError("Generator is already executing.");
79
+ while (_) try {
80
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
81
+ if (y = 0, t) op = [op[0] & 2, t.value];
82
+ switch (op[0]) {
83
+ case 0: case 1: t = op; break;
84
+ case 4: _.label++; return { value: op[1], done: false };
85
+ case 5: _.label++; y = op[1]; op = [0]; continue;
86
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
87
+ default:
88
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
89
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
90
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
91
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
92
+ if (t[2]) _.ops.pop();
93
+ _.trys.pop(); continue;
94
+ }
95
+ op = body.call(thisArg, _);
96
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
97
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
98
+ }
99
+ }
100
+
101
+ var ApiEndpoint = /** @class */ (function () {
102
+ function ApiEndpoint(config, path) {
103
+ this.config = config;
104
+ this.path = path;
105
+ }
106
+ Object.defineProperty(ApiEndpoint.prototype, "headers", {
107
+ get: function () {
108
+ return this.config.token ? { Authorization: this.config.token } : undefined;
109
+ },
110
+ enumerable: false,
111
+ configurable: true
112
+ });
113
+ Object.defineProperty(ApiEndpoint.prototype, "url", {
114
+ get: function () {
115
+ return "".concat(this.config.apiDomain, "/").concat(this.path);
116
+ },
117
+ enumerable: false,
118
+ configurable: true
119
+ });
120
+ Object.defineProperty(ApiEndpoint.prototype, "value", {
121
+ get: function () {
122
+ return this._value;
123
+ },
124
+ enumerable: false,
125
+ configurable: true
126
+ });
127
+ ApiEndpoint.prototype.get = function () {
128
+ var _a;
129
+ return __awaiter(this, void 0, void 0, function () {
130
+ var _b;
131
+ return __generator(this, function (_c) {
132
+ switch (_c.label) {
133
+ case 0:
134
+ if (!((_a = this._value) !== null && _a !== void 0)) return [3 /*break*/, 1];
135
+ _b = _a;
136
+ return [3 /*break*/, 3];
137
+ case 1: return [4 /*yield*/, this.fetch()];
138
+ case 2:
139
+ _b = (_c.sent());
140
+ _c.label = 3;
141
+ case 3: return [2 /*return*/, _b];
142
+ }
143
+ });
144
+ });
145
+ };
146
+ ApiEndpoint.prototype.fetch = function () {
147
+ return __awaiter(this, void 0, void 0, function () {
148
+ var response;
149
+ return __generator(this, function (_a) {
150
+ switch (_a.label) {
151
+ case 0: return [4 /*yield*/, axios.get(this.url, { headers: this.headers })];
152
+ case 1:
153
+ response = _a.sent();
154
+ if (response.status === 200) {
155
+ this._value = response.data;
156
+ }
157
+ else {
158
+ throw Error('Unexpected Status Code');
159
+ }
160
+ return [2 /*return*/, this._value];
161
+ }
162
+ });
163
+ });
164
+ };
165
+ ApiEndpoint.prototype.insert = function (value) {
166
+ return __awaiter(this, void 0, void 0, function () {
167
+ var response;
168
+ return __generator(this, function (_a) {
169
+ switch (_a.label) {
170
+ case 0: return [4 /*yield*/, axios.post(this.url, value, { headers: this.headers })];
171
+ case 1:
172
+ response = _a.sent();
173
+ if (response.status === 200) {
174
+ this._value = response.data;
175
+ }
176
+ else {
177
+ throw Error('Unexpected Status Code');
178
+ }
179
+ return [2 /*return*/, this._value];
180
+ }
181
+ });
182
+ });
183
+ };
184
+ return ApiEndpoint;
185
+ }());
186
+
187
+ /**
188
+ * Error object thrown by assertEx
189
+ */
190
+ var AssertExError = /** @class */ (function (_super) {
191
+ __extends(AssertExError, _super);
192
+ function AssertExError() {
193
+ return _super !== null && _super.apply(this, arguments) || this;
194
+ }
195
+ return AssertExError;
196
+ }(Error));
197
+ /**
198
+ *
199
+ * Intended for simple null/undefiend checks for variables
200
+ *
201
+ * @param expr - Expression to be evaluated for truthiness
202
+ * @param message - Message in Error if expression is false
203
+ * @throws AssertExError
204
+ * @returns Value of expression
205
+ */
206
+ var assertEx = function (expr, message) {
207
+ if (expr)
208
+ return expr;
209
+ throw new AssertExError(message);
210
+ };
211
+
212
+ var delay = function (ms) {
213
+ return new Promise(function (resolve) { return setTimeout(resolve, ms); });
214
+ };
215
+
216
+ var padHex = function (hex, byteCount) {
217
+ var result = hex;
218
+ if (hex.length % 2 !== 0) {
219
+ result = "0".concat(hex);
220
+ }
221
+ if (byteCount) {
222
+ while (result.length / 2 < byteCount) {
223
+ result = "00".concat(result);
224
+ }
225
+ }
226
+ return result;
227
+ };
228
+
229
+ var isEthAddress = function (obj) { return (obj === null || obj === void 0 ? void 0 : obj.type) === EthAddress.type; };
230
+ var EthAddress = /** @class */ (function () {
231
+ function EthAddress(address) {
232
+ this.type = EthAddress.type;
233
+ this.address = address;
234
+ }
235
+ EthAddress.prototype.equals = function (address) {
236
+ if (address) {
237
+ var inAddress = void 0;
238
+ if (typeof address === 'string') {
239
+ inAddress = assertEx(EthAddress.fromString(address), 'Bad Address');
240
+ }
241
+ else {
242
+ inAddress = address;
243
+ }
244
+ return this.address.eq(inAddress.address);
245
+ }
246
+ return false;
247
+ };
248
+ EthAddress.fromString = function (value, base) {
249
+ if (base === void 0) { base = 16; }
250
+ if (value) {
251
+ var bn = new BigNumber(value.startsWith('0x') ? value.substring(2) : value, base);
252
+ return new EthAddress(bn);
253
+ }
254
+ };
255
+ EthAddress.parse = function (value, base) {
256
+ if (typeof value === 'string') {
257
+ return this.fromString(value, base);
258
+ }
259
+ };
260
+ EthAddress.prototype.toBigNumber = function () {
261
+ return this.address;
262
+ };
263
+ EthAddress.prototype.toString = function () {
264
+ return "0x".concat(this.toHex());
265
+ };
266
+ EthAddress.prototype.toLowerCaseString = function () {
267
+ return this.toString().toLowerCase();
268
+ };
269
+ EthAddress.prototype.toJSON = function () {
270
+ return "0x".concat(this.toHex());
271
+ };
272
+ EthAddress.prototype.toHex = function () {
273
+ return padHex(this.address.toString(16), 20);
274
+ };
275
+ EthAddress.prototype.toShortString = function (length) {
276
+ if (length === void 0) { length = 2; }
277
+ var hex = this.toHex();
278
+ var part1 = hex.slice(0, length);
279
+ var part2 = hex.slice(hex.length - length, hex.length);
280
+ return "0x".concat(part1, "...").concat(part2);
281
+ };
282
+ EthAddress.type = 'EthAddress';
283
+ return EthAddress;
284
+ }());
285
+
286
+ var getApiStage = function (hostname) {
287
+ if (hostname.startsWith('localhost')) {
288
+ return ApiStage.Local;
289
+ }
290
+ else if (hostname.startsWith('beta.')) {
291
+ return ApiStage.Beta;
292
+ }
293
+ else {
294
+ return ApiStage.Prod;
295
+ }
296
+ };
297
+
298
+ var Log = /** @class */ (function () {
299
+ function Log(config) {
300
+ var _a;
301
+ this.devMode = (_a = config.devMode) !== null && _a !== void 0 ? _a : false;
302
+ if (config.rollbarToken) {
303
+ this.rollbar = new Rollbar({
304
+ accessToken: config.rollbarToken,
305
+ captureUncaught: true,
306
+ captureUnhandledRejections: true,
307
+ codeVersion: config.commitHash,
308
+ code_version: config.commitHash,
309
+ payload: __assign({ client: {
310
+ javascript: {
311
+ code_version: config.commitHash,
312
+ guess_uncaught_frames: true,
313
+ source_map_enabled: true,
314
+ },
315
+ }, codeVersion: config.commitHash, code_version: config.commitHash, environment: this.devMode ? 'development' : 'production' }, config.payload),
316
+ sendConfig: true,
317
+ });
318
+ }
319
+ }
320
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
321
+ Log.prototype.error = function () {
322
+ var _a;
323
+ var params = [];
324
+ for (var _i = 0; _i < arguments.length; _i++) {
325
+ params[_i] = arguments[_i];
326
+ }
327
+ console.error(params);
328
+ if (this.devMode) {
329
+ (_a = this.rollbar) === null || _a === void 0 ? void 0 : _a.error(params);
330
+ }
331
+ };
332
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
333
+ Log.prototype.warn = function () {
334
+ var _a;
335
+ var params = [];
336
+ for (var _i = 0; _i < arguments.length; _i++) {
337
+ params[_i] = arguments[_i];
338
+ }
339
+ console.warn(params);
340
+ if (this.devMode) {
341
+ (_a = this.rollbar) === null || _a === void 0 ? void 0 : _a.warn(params);
342
+ }
343
+ };
344
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
345
+ Log.prototype.info = function () {
346
+ var params = [];
347
+ for (var _i = 0; _i < arguments.length; _i++) {
348
+ params[_i] = arguments[_i];
349
+ }
350
+ if (this.devMode) {
351
+ console.info(params);
352
+ }
353
+ };
354
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
355
+ Log.prototype.debug = function () {
356
+ var params = [];
357
+ for (var _i = 0; _i < arguments.length; _i++) {
358
+ params[_i] = arguments[_i];
359
+ }
360
+ if (this.devMode) {
361
+ console.debug(params);
362
+ }
363
+ };
364
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
365
+ Log.prototype.log = function () {
366
+ var params = [];
367
+ for (var _i = 0; _i < arguments.length; _i++) {
368
+ params[_i] = arguments[_i];
369
+ }
370
+ if (this.devMode) {
371
+ console.log(params);
372
+ }
373
+ };
374
+ return Log;
375
+ }());
376
+
377
+ export { ApiClient, ApiEndpoint, ApiStage, EthAddress, Log, assertEx, delay, getApiStage, isEthAddress };
378
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../src/ApiStage.ts","../../src/ApiClient.ts","../../src/ApiEndpoint.ts","../../src/assertEx.ts","../../src/delay.ts","../../src/padHex.ts","../../src/EthAddress.ts","../../src/getApiStage.ts","../../src/Log.ts"],"sourcesContent":["enum ApiStage {\n Beta = 'beta',\n Local = 'local',\n Prod = 'prod',\n}\n\nexport { ApiStage }\n","import { ApiStage } from './ApiStage'\n\nabstract class ApiClient {\n public constructor(token?: string | null, stage?: ApiStage) {\n this.stage = stage ?? ApiStage.Prod\n this.token = token\n }\n\n protected stage: string\n\n protected token?: string | null\n\n abstract endPoint(): string\n}\n\nexport { ApiClient }\n","import axios from 'axios'\n\nimport { ApiConfig } from './ApiConfig'\n\nclass ApiEndpoint<T> {\n private config: ApiConfig\n private path: string\n\n constructor(config: ApiConfig, path: string) {\n this.config = config\n this.path = path\n }\n\n private get headers() {\n return this.config.token ? { Authorization: this.config.token } : undefined\n }\n\n private get url() {\n return `${this.config.apiDomain}/${this.path}`\n }\n\n private _value?: T\n\n public get value() {\n return this._value\n }\n\n public async get() {\n return this._value ?? (await this.fetch())\n }\n\n public async fetch() {\n const response = await axios.get<T>(this.url, { headers: this.headers })\n if (response.status === 200) {\n this._value = response.data\n } else {\n throw Error('Unexpected Status Code')\n }\n return this._value\n }\n\n public async insert(value: T) {\n const response = await axios.post<T>(this.url, value, { headers: this.headers })\n if (response.status === 200) {\n this._value = response.data\n } else {\n throw Error('Unexpected Status Code')\n }\n return this._value\n }\n}\n\nexport { ApiEndpoint }\n","/**\n * Error object thrown by assertEx\n */\nclass AssertExError extends Error {}\n\n/**\n *\n * Intended for simple null/undefiend checks for variables\n *\n * @param expr - Expression to be evaluated for truthiness\n * @param message - Message in Error if expression is false\n * @throws AssertExError\n * @returns Value of expression\n */\nconst assertEx = <T>(expr?: T | null, message?: string): T => {\n if (expr) return expr\n throw new AssertExError(message)\n}\n\nexport { assertEx }\n","export const delay = (ms: number) => {\n return new Promise((resolve) => setTimeout(resolve, ms))\n}\n","const padHex = (hex: string, byteCount?: number) => {\n let result = hex\n if (hex.length % 2 !== 0) {\n result = `0${hex}`\n }\n if (byteCount) {\n while (result.length / 2 < byteCount) {\n result = `00${result}`\n }\n }\n return result\n}\n\nexport { padHex }\n","import { assertEx } from './assertEx'\nimport { BigNumber } from './BigNumber'\nimport { padHex } from './padHex'\n\nexport const isEthAddress = (obj: { type: string }) => obj?.type === EthAddress.type\n\nexport class EthAddress {\n public type = EthAddress.type\n\n private address: BigNumber\n\n static type = 'EthAddress'\n\n private constructor(address: BigNumber) {\n this.address = address\n }\n\n public equals(address?: EthAddress | string | null): boolean {\n if (address) {\n let inAddress: EthAddress\n if (typeof address === 'string') {\n inAddress = assertEx(EthAddress.fromString(address), 'Bad Address')\n } else {\n inAddress = address\n }\n return this.address.eq(inAddress.address)\n }\n return false\n }\n\n static fromString(value?: string, base = 16) {\n if (value) {\n const bn = new BigNumber(value.startsWith('0x') ? value.substring(2) : value, base)\n return new EthAddress(bn)\n }\n }\n\n static parse(value: unknown, base?: number) {\n if (typeof value === 'string') {\n return this.fromString(value, base)\n }\n }\n\n public toBigNumber() {\n return this.address\n }\n\n public toString() {\n return `0x${this.toHex()}`\n }\n\n public toLowerCaseString() {\n return this.toString().toLowerCase()\n }\n\n public toJSON(): string {\n return `0x${this.toHex()}`\n }\n\n public toHex() {\n return padHex(this.address.toString(16), 20)\n }\n\n public toShortString(length = 2) {\n const hex = this.toHex()\n const part1 = hex.slice(0, length)\n const part2 = hex.slice(hex.length - length, hex.length)\n return `0x${part1}...${part2}`\n }\n}\n","import { ApiStage } from './ApiStage'\n\nconst getApiStage = (hostname: string) => {\n if (hostname.startsWith('localhost')) {\n return ApiStage.Local\n } else if (hostname.startsWith('beta.')) {\n return ApiStage.Beta\n } else {\n return ApiStage.Prod\n }\n}\n\nexport { getApiStage }\n","import Rollbar from 'rollbar'\n\ninterface LogConfig {\n commitHash?: string\n devMode?: boolean\n rollbarToken?: string\n payload?: Record<string, unknown>\n}\n\nclass Log {\n private rollbar?: Rollbar\n private devMode?: boolean\n\n constructor(config: LogConfig) {\n this.devMode = config.devMode ?? false\n\n if (config.rollbarToken) {\n this.rollbar = new Rollbar({\n accessToken: config.rollbarToken,\n captureUncaught: true,\n captureUnhandledRejections: true,\n codeVersion: config.commitHash,\n code_version: config.commitHash,\n payload: {\n client: {\n javascript: {\n code_version: config.commitHash,\n guess_uncaught_frames: true,\n source_map_enabled: true,\n },\n },\n codeVersion: config.commitHash,\n code_version: config.commitHash,\n environment: this.devMode ? 'development' : 'production',\n ...config.payload,\n },\n sendConfig: true,\n })\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public error(...params: any[]) {\n console.error(params)\n if (this.devMode) {\n this.rollbar?.error(params)\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public warn(...params: any[]) {\n console.warn(params)\n if (this.devMode) {\n this.rollbar?.warn(params)\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public info(...params: any[]) {\n if (this.devMode) {\n console.info(params)\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public debug(...params: any[]) {\n if (this.devMode) {\n console.debug(params)\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public log(...params: any[]) {\n if (this.devMode) {\n console.log(params)\n }\n }\n}\n\nexport { Log }\n"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from './src';
@@ -0,0 +1,8 @@
1
+ import { ApiStage } from './ApiStage';
2
+ declare abstract class ApiClient {
3
+ constructor(token?: string | null, stage?: ApiStage);
4
+ protected stage: string;
5
+ protected token?: string | null;
6
+ abstract endPoint(): string;
7
+ }
8
+ export { ApiClient };
@@ -0,0 +1,6 @@
1
+ interface ApiConfig {
2
+ apiDomain: string;
3
+ token?: string;
4
+ userid?: string;
5
+ }
6
+ export type { ApiConfig };
@@ -0,0 +1,14 @@
1
+ import { ApiConfig } from './ApiConfig';
2
+ declare class ApiEndpoint<T> {
3
+ private config;
4
+ private path;
5
+ constructor(config: ApiConfig, path: string);
6
+ private get headers();
7
+ private get url();
8
+ private _value?;
9
+ get value(): T | undefined;
10
+ get(): Promise<T | NonNullable<T>>;
11
+ fetch(): Promise<T>;
12
+ insert(value: T): Promise<T>;
13
+ }
14
+ export { ApiEndpoint };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ declare enum ApiStage {
2
+ Beta = "beta",
3
+ Local = "local",
4
+ Prod = "prod"
5
+ }
6
+ export { ApiStage };
@@ -0,0 +1,2 @@
1
+ import BigNumber from 'bn.js';
2
+ export { BigNumber };
@@ -0,0 +1,19 @@
1
+ import { BigNumber } from './BigNumber';
2
+ export declare const isEthAddress: (obj: {
3
+ type: string;
4
+ }) => boolean;
5
+ export declare class EthAddress {
6
+ type: string;
7
+ private address;
8
+ static type: string;
9
+ private constructor();
10
+ equals(address?: EthAddress | string | null): boolean;
11
+ static fromString(value?: string, base?: number): EthAddress | undefined;
12
+ static parse(value: unknown, base?: number): EthAddress | undefined;
13
+ toBigNumber(): BigNumber;
14
+ toString(): string;
15
+ toLowerCaseString(): string;
16
+ toJSON(): string;
17
+ toHex(): string;
18
+ toShortString(length?: number): string;
19
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,17 @@
1
+ interface LogConfig {
2
+ commitHash?: string;
3
+ devMode?: boolean;
4
+ rollbarToken?: string;
5
+ payload?: Record<string, unknown>;
6
+ }
7
+ declare class Log {
8
+ private rollbar?;
9
+ private devMode?;
10
+ constructor(config: LogConfig);
11
+ error(...params: any[]): void;
12
+ warn(...params: any[]): void;
13
+ info(...params: any[]): void;
14
+ debug(...params: any[]): void;
15
+ log(...params: any[]): void;
16
+ }
17
+ export { Log };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ declare type Override<T1, T2> = Omit<T1, keyof T2> & T2;
2
+ export type { Override };
@@ -0,0 +1,11 @@
1
+ /**
2
+ *
3
+ * Intended for simple null/undefiend checks for variables
4
+ *
5
+ * @param expr - Expression to be evaluated for truthiness
6
+ * @param message - Message in Error if expression is false
7
+ * @throws AssertExError
8
+ * @returns Value of expression
9
+ */
10
+ declare const assertEx: <T>(expr?: T | null | undefined, message?: string | undefined) => T;
11
+ export { assertEx };
@@ -0,0 +1 @@
1
+ export declare const delay: (ms: number) => Promise<unknown>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,3 @@
1
+ import { ApiStage } from './ApiStage';
2
+ declare const getApiStage: (hostname: string) => ApiStage;
3
+ export { getApiStage };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,13 @@
1
+ import { ApiClient } from './ApiClient';
2
+ import { ApiConfig } from './ApiConfig';
3
+ import { ApiEndpoint } from './ApiEndpoint';
4
+ import { ApiStage } from './ApiStage';
5
+ import { assertEx } from './assertEx';
6
+ import { BigNumber } from './BigNumber';
7
+ import { delay } from './delay';
8
+ import { EthAddress, isEthAddress } from './EthAddress';
9
+ import { getApiStage } from './getApiStage';
10
+ import { Log } from './Log';
11
+ import { Override } from './Override';
12
+ export { ApiClient, ApiEndpoint, ApiStage, assertEx, BigNumber, delay, EthAddress, getApiStage, isEthAddress, Log };
13
+ export type { ApiConfig, Override };
@@ -0,0 +1,2 @@
1
+ declare const padHex: (hex: string, byteCount?: number | undefined) => string;
2
+ export { padHex };
@@ -0,0 +1 @@
1
+ export * from './src';