@pioneer-platform/helpers 4.0.3 → 4.0.5
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/__tests__/test-module.js +25 -1
- package/lib/modules/assetValue.d.ts +9 -9
- package/lib/modules/assetValue.js +254 -211
- package/lib/modules/bigIntArithmetics.js +477 -204
- package/package.json +1 -1
- package/src/modules/assetValue.ts +273 -308
- package/src/modules/bigIntArithmetics.ts +495 -247
package/__tests__/test-module.js
CHANGED
@@ -16,13 +16,37 @@ let run_test = async function(){
|
|
16
16
|
|
17
17
|
await helpers.AssetValue.loadStaticAssets();
|
18
18
|
|
19
|
+
|
20
|
+
// let assetValue = helpers.AssetValue.fromIdentifierSync(
|
21
|
+
// 'PRO-0xef743df8eda497bcf1977393c401a636518dd630',
|
22
|
+
// 999422801215499116128328n,
|
23
|
+
// );
|
24
|
+
// console.log("assetValue: ",assetValue)
|
25
|
+
// console.log("assetValue: ",assetValue.getValue('string'))
|
26
|
+
|
27
|
+
//get save value
|
28
|
+
let value = helpers.formatBigIntToSafeValue({
|
29
|
+
value: 62128117093292225n,
|
30
|
+
decimal: 18,
|
31
|
+
})
|
32
|
+
console.log("value: ",value)
|
33
|
+
// console.log("value: ",typeof(value))
|
34
|
+
|
19
35
|
let assetValue = helpers.AssetValue.fromChainOrSignature(
|
20
36
|
'BASE',
|
21
|
-
|
37
|
+
value,
|
22
38
|
);
|
23
39
|
console.log("assetValue: ",assetValue)
|
24
40
|
console.log("assetValue: ",assetValue.getValue('string'))
|
25
41
|
|
42
|
+
//formatBigIntToSafeValue
|
43
|
+
// let value = helpers.formatBigIntToSafeValue({
|
44
|
+
// value: 62128117093292225n,
|
45
|
+
// decimal: 18,
|
46
|
+
// })
|
47
|
+
// console.log("value: ",value)
|
48
|
+
|
49
|
+
|
26
50
|
}catch(e){
|
27
51
|
console.error(e)
|
28
52
|
}
|
@@ -32,24 +32,24 @@ export declare class AssetValue extends BigIntArithmetics {
|
|
32
32
|
ticker: string;
|
33
33
|
type: ReturnType<typeof getAssetType>;
|
34
34
|
constructor(params: AssetValueParams);
|
35
|
-
toString(short?: boolean): string;
|
36
|
-
toUrl(): string;
|
35
|
+
toString(short?: boolean): string | undefined;
|
36
|
+
toUrl(): string | undefined;
|
37
37
|
eq({ chain, symbol }: {
|
38
38
|
chain: Chain;
|
39
39
|
symbol: string;
|
40
|
-
}): boolean;
|
41
|
-
static fromString(assetString: string, value?: NumberPrimitives): Promise<AssetValue>;
|
40
|
+
}): boolean | undefined;
|
41
|
+
static fromString(assetString: string, value?: NumberPrimitives): Promise<AssetValue | undefined>;
|
42
42
|
static fromStringSync(assetString: string, value?: NumberPrimitives): AssetValue | undefined;
|
43
|
-
static fromIdentifier(assetString: `${Chain}.${string}` | `${Chain}/${string}` | `${Chain}.${string}-${string}`, value?: NumberPrimitives): Promise<AssetValue>;
|
44
|
-
static fromIdentifierSync(identifier: TokenNames, value?: NumberPrimitives): AssetValue;
|
45
|
-
static fromChainOrSignature(assetString: CommonAssetString, value?: NumberPrimitives): AssetValue;
|
43
|
+
static fromIdentifier(assetString: `${Chain}.${string}` | `${Chain}/${string}` | `${Chain}.${string}-${string}`, value?: NumberPrimitives): Promise<AssetValue | undefined>;
|
44
|
+
static fromIdentifierSync(identifier: TokenNames, value?: NumberPrimitives): AssetValue | undefined;
|
45
|
+
static fromChainOrSignature(assetString: CommonAssetString, value?: NumberPrimitives): AssetValue | undefined;
|
46
46
|
static loadStaticAssets(): Promise<{
|
47
47
|
ok: true;
|
48
48
|
} | {
|
49
49
|
ok: false;
|
50
50
|
message: string;
|
51
51
|
error: any;
|
52
|
-
}>;
|
52
|
+
} | undefined>;
|
53
53
|
}
|
54
|
-
export declare const getMinAmountByChain: (chain: Chain) =>
|
54
|
+
export declare const getMinAmountByChain: (chain: Chain) => any;
|
55
55
|
export {};
|
@@ -99,256 +99,288 @@ var types_1 = require("@coinmasters/types");
|
|
99
99
|
var asset_1 = require("../helpers/asset");
|
100
100
|
var validators_1 = require("../helpers/validators");
|
101
101
|
var bigIntArithmetics_1 = require("./bigIntArithmetics");
|
102
|
+
var TAG = " | assetValue | ";
|
102
103
|
function safeValue(value, decimal) {
|
104
|
+
var tag = TAG + " | safeValue | ";
|
103
105
|
try {
|
104
106
|
if (typeof value === 'bigint') {
|
105
|
-
return
|
107
|
+
return value;
|
106
108
|
}
|
107
|
-
|
109
|
+
else if (typeof value === 'number') {
|
110
|
+
return BigInt(Math.round(value * Math.pow(10, decimal)));
|
111
|
+
}
|
112
|
+
else if (typeof value === 'string') {
|
113
|
+
return BigInt(Math.round(parseFloat(value) * Math.pow(10, decimal)));
|
114
|
+
}
|
115
|
+
return BigInt(0);
|
108
116
|
}
|
109
117
|
catch (error) {
|
110
|
-
console.error('Error in safeValue:', error);
|
111
|
-
return 0;
|
118
|
+
console.error(tag + 'Error in safeValue:', error);
|
119
|
+
return BigInt(0);
|
112
120
|
}
|
113
121
|
}
|
114
122
|
var staticTokensMap;
|
115
123
|
var getStaticToken = function (identifier) {
|
116
|
-
|
117
|
-
|
124
|
+
var tag = TAG + " | getStaticToken | ";
|
125
|
+
try {
|
126
|
+
if (!staticTokensMap) {
|
127
|
+
throw new Error('Static assets not loaded, call await AssetValue.loadStaticAssets() first');
|
128
|
+
}
|
129
|
+
var tokenInfo = staticTokensMap.get(identifier.toUpperCase());
|
130
|
+
return tokenInfo || { decimal: types_1.BaseDecimal.THOR, identifier: '' };
|
131
|
+
}
|
132
|
+
catch (error) {
|
133
|
+
console.error(tag + 'Error in getStaticToken:', error);
|
118
134
|
}
|
119
|
-
//console.log('getStaticToken: staticTokensMap: ', staticTokensMap);
|
120
|
-
//console.log('getStaticToken: identifier: ', identifier.toUpperCase());
|
121
|
-
var tokenInfo = staticTokensMap.get(identifier.toUpperCase());
|
122
|
-
return tokenInfo || { decimal: types_1.BaseDecimal.THOR, identifier: '' };
|
123
135
|
};
|
124
136
|
var createAssetValue = function (assetString, value) {
|
125
137
|
if (value === void 0) { value = 0; }
|
126
138
|
return __awaiter(void 0, void 0, void 0, function () {
|
127
|
-
var decimal, parsedValue;
|
139
|
+
var tag, decimal, parsedValue, error_1;
|
128
140
|
return __generator(this, function (_a) {
|
129
141
|
switch (_a.label) {
|
130
142
|
case 0:
|
143
|
+
tag = TAG + " | createAssetValue | ";
|
144
|
+
_a.label = 1;
|
145
|
+
case 1:
|
146
|
+
_a.trys.push([1, 3, , 4]);
|
131
147
|
(0, validators_1.validateIdentifier)(assetString);
|
148
|
+
console.log(tag + 'assetString', assetString);
|
132
149
|
return [4 /*yield*/, (0, asset_1.getDecimal)(getAssetInfo(assetString))];
|
133
|
-
case
|
150
|
+
case 2:
|
134
151
|
decimal = _a.sent();
|
152
|
+
console.log(tag + 'decimal', decimal);
|
135
153
|
parsedValue = safeValue(value, decimal);
|
154
|
+
console.log(tag + 'parsedValue', parsedValue);
|
155
|
+
// @ts-ignore
|
136
156
|
return [2 /*return*/, new AssetValue({ decimal: decimal, value: parsedValue, identifier: assetString })];
|
157
|
+
case 3:
|
158
|
+
error_1 = _a.sent();
|
159
|
+
console.error(tag + 'Error in createAssetValue:', error_1);
|
160
|
+
return [3 /*break*/, 4];
|
161
|
+
case 4: return [2 /*return*/];
|
137
162
|
}
|
138
163
|
});
|
139
164
|
});
|
140
165
|
};
|
141
166
|
var AssetValue = /** @class */ (function (_super) {
|
142
167
|
__extends(AssetValue, _super);
|
143
|
-
|
168
|
+
//@ts-ignore
|
144
169
|
function AssetValue(params) {
|
145
170
|
var _this = this;
|
146
|
-
var
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
value
|
171
|
+
var tag = TAG + " | constructor | ";
|
172
|
+
try {
|
173
|
+
var identifier = 'identifier' in params ? params.identifier : "".concat(params.chain, ".").concat(params.symbol);
|
174
|
+
var value = void 0;
|
175
|
+
if (params.value instanceof bigIntArithmetics_1.BigIntArithmetics) {
|
176
|
+
value = params.value;
|
177
|
+
}
|
178
|
+
else {
|
179
|
+
value = { decimal: params.decimal, value: safeValue(params.value, params.decimal) };
|
180
|
+
}
|
181
|
+
// @ts-ignore
|
182
|
+
_this = _super.call(this, value) || this;
|
183
|
+
_this.isGasAsset = false;
|
184
|
+
_this.isSynthetic = false;
|
185
|
+
var assetInfo = getAssetInfo(identifier);
|
186
|
+
_this.type = (0, asset_1.getAssetType)(assetInfo);
|
187
|
+
_this.chain = assetInfo.chain;
|
188
|
+
_this.ticker = assetInfo.ticker;
|
189
|
+
_this.symbol = assetInfo.symbol;
|
190
|
+
_this.address = assetInfo.address;
|
191
|
+
_this.isSynthetic = assetInfo.isSynthetic;
|
192
|
+
// @ts-ignore
|
193
|
+
_this.isGasAsset = assetInfo.isGasAsset;
|
194
|
+
_this.tax = params.tax;
|
151
195
|
}
|
152
|
-
|
153
|
-
|
196
|
+
catch (error) {
|
197
|
+
console.error(tag + 'Error in constructor:', error);
|
154
198
|
}
|
155
|
-
console.log('value: ', value);
|
156
|
-
_this = _super.call(this, value) || this;
|
157
|
-
_this.isGasAsset = false;
|
158
|
-
_this.isSynthetic = false;
|
159
|
-
// super(
|
160
|
-
// params.value instanceof BigIntArithmetics
|
161
|
-
// ? params.value
|
162
|
-
// : { decimal: params.decimal, value: params.value },
|
163
|
-
// );
|
164
|
-
var assetInfo = getAssetInfo(identifier);
|
165
|
-
console.log('assetInfo: ', assetInfo);
|
166
|
-
_this.type = (0, asset_1.getAssetType)(assetInfo);
|
167
|
-
_this.chain = assetInfo.chain;
|
168
|
-
_this.ticker = assetInfo.ticker;
|
169
|
-
_this.symbol = assetInfo.symbol;
|
170
|
-
_this.address = assetInfo.address;
|
171
|
-
_this.isSynthetic = assetInfo.isSynthetic;
|
172
|
-
// @ts-ignore
|
173
|
-
_this.isGasAsset = assetInfo.isGasAsset;
|
174
|
-
_this.tax = params.tax;
|
175
199
|
return _this;
|
176
200
|
}
|
177
201
|
AssetValue.prototype.toString = function (short) {
|
178
202
|
if (short === void 0) { short = false; }
|
179
|
-
var
|
180
|
-
|
181
|
-
?
|
182
|
-
|
183
|
-
|
184
|
-
"".concat(this.chain, ".").concat(this.symbol);
|
203
|
+
var tag = TAG + " | toString | ";
|
204
|
+
try {
|
205
|
+
var shortFormat = this.isSynthetic ? this.symbol : this.ticker;
|
206
|
+
return short
|
207
|
+
? shortFormat
|
208
|
+
: "".concat(this.chain, ".").concat(this.symbol);
|
209
|
+
}
|
210
|
+
catch (error) {
|
211
|
+
console.error(tag + 'Error in toString:', error);
|
212
|
+
}
|
185
213
|
};
|
186
214
|
AssetValue.prototype.toUrl = function () {
|
187
|
-
|
215
|
+
var tag = TAG + " | toUrl | ";
|
216
|
+
try {
|
217
|
+
return this.isSynthetic ? "".concat(this.chain, ".").concat(this.symbol.replace('/', '.')) : this.toString();
|
218
|
+
}
|
219
|
+
catch (error) {
|
220
|
+
console.error(tag + 'Error in toUrl:', error);
|
221
|
+
}
|
188
222
|
};
|
189
223
|
AssetValue.prototype.eq = function (_a) {
|
190
224
|
var chain = _a.chain, symbol = _a.symbol;
|
191
|
-
|
225
|
+
var tag = TAG + " | eq | ";
|
226
|
+
try {
|
227
|
+
return this.chain === chain && this.symbol === symbol;
|
228
|
+
}
|
229
|
+
catch (error) {
|
230
|
+
console.error(tag + 'Error in eq:', error);
|
231
|
+
}
|
192
232
|
};
|
193
233
|
AssetValue.fromString = function (assetString, value) {
|
194
234
|
if (value === void 0) { value = 0; }
|
195
235
|
return __awaiter(this, void 0, void 0, function () {
|
236
|
+
var tag;
|
196
237
|
return __generator(this, function (_a) {
|
197
|
-
|
238
|
+
tag = TAG + " | fromString | ";
|
239
|
+
try {
|
240
|
+
return [2 /*return*/, createAssetValue(assetString, value)];
|
241
|
+
}
|
242
|
+
catch (error) {
|
243
|
+
console.error(tag + 'Error in fromString:', error);
|
244
|
+
}
|
245
|
+
return [2 /*return*/];
|
198
246
|
});
|
199
247
|
});
|
200
248
|
};
|
201
|
-
// static fromStringSync(assetString: string, value: NumberPrimitives = 0) {
|
202
|
-
// const { isSynthetic, symbol, chain, isGasAsset, ticker, address } = getAssetInfo(assetString);
|
203
|
-
// console.log('getAssetInfo: ', { isSynthetic, symbol, chain, isGasAsset, ticker, address });
|
204
|
-
// const { tax, decimal, identifier: tokenIdentifier } = getStaticToken(assetString as unknown as TokenNames);
|
205
|
-
// console.log('getStaticToken: ', { tax, decimal, tokenIdentifier });
|
206
|
-
//
|
207
|
-
// // Convert value to a BigInt if necessary
|
208
|
-
// let safeValue = (val: NumberPrimitives, decimal: number): BigInt => {
|
209
|
-
// if (typeof val === 'bigint') {
|
210
|
-
// return val;
|
211
|
-
// } else if (typeof val === 'number') {
|
212
|
-
// return BigInt(val * Math.pow(10, decimal));
|
213
|
-
// } else {
|
214
|
-
// return BigInt(0);
|
215
|
-
// }
|
216
|
-
// };
|
217
|
-
//
|
218
|
-
// const parsedValue = safeValue(value, decimal);
|
219
|
-
// console.log('parsedValue: ', parsedValue);
|
220
|
-
//
|
221
|
-
// let asset: AssetValue | undefined;
|
222
|
-
//
|
223
|
-
// if (tokenIdentifier) {
|
224
|
-
// console.log('tokenIdentifier is truthy'); // Indicates tokenIdentifier has a value considered true in a boolean context
|
225
|
-
// asset = new AssetValue({
|
226
|
-
// tax,
|
227
|
-
// decimal,
|
228
|
-
// identifier: tokenIdentifier,
|
229
|
-
// value: parsedValue,
|
230
|
-
// });
|
231
|
-
// } else if (isSynthetic) {
|
232
|
-
// console.log('isSynthetic is true'); // Indicates the asset is synthetic
|
233
|
-
// asset = new AssetValue({
|
234
|
-
// tax,
|
235
|
-
// decimal: 8, // Synthetic assets use a fixed decimal value
|
236
|
-
// identifier: assetString,
|
237
|
-
// value: parsedValue,
|
238
|
-
// });
|
239
|
-
// } else {
|
240
|
-
// asset = undefined;
|
241
|
-
// }
|
242
|
-
//
|
243
|
-
// return asset;
|
244
|
-
// }
|
245
249
|
AssetValue.fromStringSync = function (assetString, value) {
|
246
250
|
if (value === void 0) { value = 0; }
|
247
|
-
var
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
251
|
+
var tag = TAG + " | fromStringSync | ";
|
252
|
+
try {
|
253
|
+
//@ts-ignore
|
254
|
+
var _a = getAssetInfo(assetString), isSynthetic = _a.isSynthetic, symbol = _a.symbol, chain = _a.chain, isGasAsset_1 = _a.isGasAsset, ticker = _a.ticker, address = _a.address;
|
255
|
+
var _b = getStaticToken(assetString), tax = _b.tax, decimal = _b.decimal, tokenIdentifier = _b.identifier;
|
256
|
+
var parsedValue = safeValue(value, decimal);
|
257
|
+
var asset = void 0;
|
258
|
+
if (tokenIdentifier) {
|
259
|
+
asset = new AssetValue({
|
260
|
+
tax: tax,
|
261
|
+
decimal: decimal,
|
262
|
+
identifier: tokenIdentifier,
|
263
|
+
// @ts-ignore
|
264
|
+
value: parsedValue,
|
265
|
+
});
|
266
|
+
}
|
267
|
+
else if (isSynthetic) {
|
268
|
+
asset = new AssetValue({
|
269
|
+
tax: tax,
|
270
|
+
decimal: 8, // Synthetic assets use a fixed decimal value
|
271
|
+
identifier: assetString,
|
272
|
+
// @ts-ignore
|
273
|
+
value: parsedValue,
|
274
|
+
});
|
275
|
+
}
|
276
|
+
else {
|
277
|
+
asset = undefined;
|
278
|
+
}
|
279
|
+
return asset;
|
273
280
|
}
|
274
|
-
|
275
|
-
|
276
|
-
asset = undefined;
|
281
|
+
catch (error) {
|
282
|
+
console.error(tag + 'Error in fromStringSync:', error);
|
277
283
|
}
|
278
|
-
return asset;
|
279
284
|
};
|
280
285
|
AssetValue.fromIdentifier = function (assetString, value) {
|
281
286
|
if (value === void 0) { value = 0; }
|
282
287
|
return __awaiter(this, void 0, void 0, function () {
|
288
|
+
var tag;
|
283
289
|
return __generator(this, function (_a) {
|
284
|
-
|
290
|
+
tag = TAG + " | fromIdentifier | ";
|
291
|
+
try {
|
292
|
+
return [2 /*return*/, createAssetValue(assetString, value)];
|
293
|
+
}
|
294
|
+
catch (error) {
|
295
|
+
console.error(tag + 'Error in fromIdentifier:', error);
|
296
|
+
}
|
297
|
+
return [2 /*return*/];
|
285
298
|
});
|
286
299
|
});
|
287
300
|
};
|
288
301
|
AssetValue.fromIdentifierSync = function (identifier, value) {
|
289
302
|
if (value === void 0) { value = 0; }
|
290
|
-
var
|
291
|
-
|
292
|
-
|
303
|
+
var tag = TAG + " | fromIdentifierSync | ";
|
304
|
+
try {
|
305
|
+
//@ts-ignore
|
306
|
+
var _a = getStaticToken(identifier), decimal = _a.decimal, tokenIdentifier = _a.identifier;
|
307
|
+
var parsedValue = safeValue(value, decimal);
|
308
|
+
// @ts-ignore
|
309
|
+
return new AssetValue({ decimal: decimal, identifier: tokenIdentifier, value: parsedValue });
|
310
|
+
}
|
311
|
+
catch (error) {
|
312
|
+
console.error(tag + 'Error in fromIdentifierSync:', error);
|
313
|
+
}
|
293
314
|
};
|
294
315
|
AssetValue.fromChainOrSignature = function (assetString, value) {
|
295
316
|
if (value === void 0) { value = 0; }
|
296
|
-
var
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
317
|
+
var tag = TAG + " | fromChainOrSignature | ";
|
318
|
+
try {
|
319
|
+
var _a = (0, asset_1.getCommonAssetInfo)(assetString), decimal = _a.decimal, identifier = _a.identifier;
|
320
|
+
if (!decimal || !identifier)
|
321
|
+
throw Error('unknown coin! ' + assetString);
|
322
|
+
var parsedValue = safeValue(value, decimal);
|
323
|
+
console.log(tag + "parsedValue: ", parsedValue);
|
324
|
+
console.log(tag + "decimal: ", decimal);
|
325
|
+
console.log(tag + "identifier: ", identifier);
|
326
|
+
// @ts-ignore
|
327
|
+
return new AssetValue({ value: parsedValue, decimal: decimal, identifier: identifier });
|
328
|
+
}
|
329
|
+
catch (error) {
|
330
|
+
console.error(tag + 'Error in fromChainOrSignature:', error);
|
331
|
+
}
|
301
332
|
};
|
302
333
|
AssetValue.loadStaticAssets = function () {
|
303
334
|
return __awaiter(this, void 0, void 0, function () {
|
335
|
+
var tag;
|
304
336
|
var _this = this;
|
305
337
|
return __generator(this, function (_a) {
|
306
|
-
|
307
|
-
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
338
|
+
tag = TAG + " | loadStaticAssets | ";
|
339
|
+
try {
|
340
|
+
return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {
|
341
|
+
var _a, _ThorchainList, NativeList, tokensPackage, tokensMap, error_2;
|
342
|
+
return __generator(this, function (_b) {
|
343
|
+
switch (_b.label) {
|
344
|
+
case 0:
|
345
|
+
_b.trys.push([0, 2, , 3]);
|
346
|
+
return [4 /*yield*/, Promise.resolve().then(function () { return __importStar(require('@coinmasters/tokens')); })];
|
347
|
+
case 1:
|
348
|
+
_a = _b.sent(), _ThorchainList = _a.ThorchainList, NativeList = _a.NativeList, tokensPackage = __rest(_a, ["ThorchainList", "NativeList"]);
|
349
|
+
tokensMap = __spreadArray([NativeList], Object.values(tokensPackage), true).reduce(function (acc, _a) {
|
350
|
+
var tokens = _a.tokens;
|
351
|
+
if (!tokens) {
|
352
|
+
console.warn(tag + "No tokens found in the current package, skipping.");
|
353
|
+
return acc;
|
354
|
+
}
|
355
|
+
// @ts-ignore
|
356
|
+
tokens.forEach(function (_a) {
|
357
|
+
var identifier = _a.identifier, chain = _a.chain, rest = __rest(_a, ["identifier", "chain"]);
|
358
|
+
var decimal = 'decimals' in rest ? rest.decimals : types_1.BaseDecimal[chain];
|
359
|
+
acc.set(identifier, { identifier: identifier, decimal: decimal });
|
360
|
+
});
|
324
361
|
return acc;
|
325
|
-
}
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
362
|
+
}, new Map());
|
363
|
+
staticTokensMap = tokensMap;
|
364
|
+
resolve({ ok: true });
|
365
|
+
return [3 /*break*/, 3];
|
366
|
+
case 2:
|
367
|
+
error_2 = _b.sent();
|
368
|
+
console.error(tag + "Error loading static assets:", error_2);
|
369
|
+
reject({
|
370
|
+
ok: false,
|
371
|
+
error: error_2,
|
372
|
+
message: "Couldn't load static assets. Ensure you have installed @coinmasters/tokens package",
|
332
373
|
});
|
333
|
-
return
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
ok: false,
|
344
|
-
error: error_1,
|
345
|
-
message: "Couldn't load static assets. Ensure you have installed @coinmasters/tokens package",
|
346
|
-
});
|
347
|
-
return [3 /*break*/, 3];
|
348
|
-
case 3: return [2 /*return*/];
|
349
|
-
}
|
350
|
-
});
|
351
|
-
}); })];
|
374
|
+
return [3 /*break*/, 3];
|
375
|
+
case 3: return [2 /*return*/];
|
376
|
+
}
|
377
|
+
});
|
378
|
+
}); })];
|
379
|
+
}
|
380
|
+
catch (error) {
|
381
|
+
console.error(tag + 'Error in loadStaticAssets:', error);
|
382
|
+
}
|
383
|
+
return [2 /*return*/];
|
352
384
|
});
|
353
385
|
});
|
354
386
|
};
|
@@ -356,44 +388,55 @@ var AssetValue = /** @class */ (function (_super) {
|
|
356
388
|
}(bigIntArithmetics_1.BigIntArithmetics));
|
357
389
|
exports.AssetValue = AssetValue;
|
358
390
|
var getMinAmountByChain = function (chain) {
|
359
|
-
var
|
360
|
-
|
361
|
-
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
|
370
|
-
|
371
|
-
|
372
|
-
|
373
|
-
|
374
|
-
|
375
|
-
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
391
|
+
var tag = TAG + " | getMinAmountByChain | ";
|
392
|
+
try {
|
393
|
+
var asset = AssetValue.fromChainOrSignature(chain);
|
394
|
+
switch (chain) {
|
395
|
+
case types_1.Chain.Bitcoin:
|
396
|
+
case types_1.Chain.Litecoin:
|
397
|
+
case types_1.Chain.Dash:
|
398
|
+
case types_1.Chain.Zcash:
|
399
|
+
case types_1.Chain.BitcoinCash:
|
400
|
+
return asset.set(0.00010001);
|
401
|
+
case types_1.Chain.Dogecoin:
|
402
|
+
return asset.set(1.00000001);
|
403
|
+
case types_1.Chain.Base:
|
404
|
+
case types_1.Chain.Arbitrum:
|
405
|
+
case types_1.Chain.Avalanche:
|
406
|
+
case types_1.Chain.Ethereum:
|
407
|
+
return asset.set(0.00000001);
|
408
|
+
case types_1.Chain.THORChain:
|
409
|
+
case types_1.Chain.Mayachain:
|
410
|
+
return asset.set(0.0000000001);
|
411
|
+
default:
|
412
|
+
return asset.set(0.00000001);
|
413
|
+
}
|
414
|
+
}
|
415
|
+
catch (error) {
|
416
|
+
console.error(tag + 'Error in getMinAmountByChain:', error);
|
380
417
|
}
|
381
418
|
};
|
382
419
|
exports.getMinAmountByChain = getMinAmountByChain;
|
383
420
|
var getAssetInfo = function (identifier) {
|
384
421
|
var _a;
|
385
|
-
var
|
386
|
-
|
387
|
-
|
388
|
-
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
394
|
-
|
395
|
-
|
396
|
-
|
397
|
-
|
398
|
-
|
422
|
+
var tag = TAG + " | getAssetInfo | ";
|
423
|
+
try {
|
424
|
+
var isSynthetic = identifier.slice(0, 14).includes('/');
|
425
|
+
var _b = identifier.split('.').pop().split('/'), synthChain = _b[0], synthSymbol = _b[1];
|
426
|
+
var adjustedIdentifier = identifier.includes('.') && !isSynthetic ? identifier : "".concat(types_1.Chain.THORChain, ".").concat(synthSymbol);
|
427
|
+
var _c = adjustedIdentifier.split('.'), chain = _c[0], symbol = _c[1];
|
428
|
+
var _d = (isSynthetic ? synthSymbol : symbol).split('-'), ticker = _d[0], address = _d[1];
|
429
|
+
return {
|
430
|
+
address: address === null || address === void 0 ? void 0 : address.toLowerCase(),
|
431
|
+
chain: chain,
|
432
|
+
isGasAsset: (0, asset_1.isGasAsset)({ chain: chain, symbol: symbol }),
|
433
|
+
isSynthetic: isSynthetic,
|
434
|
+
symbol: (isSynthetic ? "".concat(synthChain, "/") : '') +
|
435
|
+
(address ? "".concat(ticker, "-").concat((_a = address === null || address === void 0 ? void 0 : address.toLowerCase()) !== null && _a !== void 0 ? _a : '') : symbol),
|
436
|
+
ticker: ticker,
|
437
|
+
};
|
438
|
+
}
|
439
|
+
catch (error) {
|
440
|
+
console.error(tag + 'Error in getAssetInfo:', error);
|
441
|
+
}
|
399
442
|
};
|