@pioneer-platform/maya-network 8.13.2 → 8.13.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/CHANGELOG.md +22 -0
- package/lib/index.d.ts +1 -1
- package/lib/index.js +92 -53
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @pioneer-platform/maya-network
|
|
2
2
|
|
|
3
|
+
## 8.13.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- fix(mayachain): implement consensus-based account sequence from all nodes
|
|
8
|
+
|
|
9
|
+
## 8.13.4
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- Fix MayaChain balance endpoint returning 0
|
|
14
|
+
|
|
15
|
+
- Fixed Maya node balance fetching by adding separate call to /cosmos/bank/v1beta1/balances/
|
|
16
|
+
- Fixed CACAO balance extraction to search for coin with denom='cacao' instead of coins[0]
|
|
17
|
+
- Both Unchained API and Maya node endpoints now return correct balances
|
|
18
|
+
|
|
19
|
+
## 8.13.3
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- fix(mayachain): implement consensus-based account sequence from all nodes
|
|
24
|
+
|
|
3
25
|
## 8.13.2
|
|
4
26
|
|
|
5
27
|
### Patch Changes
|
package/lib/index.d.ts
CHANGED
|
@@ -31,7 +31,7 @@ declare const get_account_info: (address: string) => Promise<{
|
|
|
31
31
|
declare const get_balance: (address: string) => Promise<number>;
|
|
32
32
|
declare const get_balances: (address: string) => Promise<any[]>;
|
|
33
33
|
declare const get_txs_by_address: (address: string, cursor?: string, pageSize?: number) => Promise<any>;
|
|
34
|
-
declare const get_transaction: (txid: string) => Promise<
|
|
34
|
+
declare const get_transaction: (txid: string) => Promise<any>;
|
|
35
35
|
declare const broadcast_transaction: (tx: string) => Promise<any>;
|
|
36
36
|
declare const get_pool: (poolId: string) => Promise<any>;
|
|
37
37
|
declare const get_pools: () => Promise<any>;
|
package/lib/index.js
CHANGED
|
@@ -180,11 +180,10 @@ var get_info = function () {
|
|
|
180
180
|
};
|
|
181
181
|
var get_account_info = function (address) {
|
|
182
182
|
return __awaiter(this, void 0, void 0, function () {
|
|
183
|
-
var tag, allEndpoints, results, successfulResults, mostRecentAccount;
|
|
183
|
+
var tag, allEndpoints, results, successfulResults, mostRecentAccount, cacaoCoin, cacaoBalance;
|
|
184
184
|
var _this = this;
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
switch (_c.label) {
|
|
185
|
+
return __generator(this, function (_a) {
|
|
186
|
+
switch (_a.label) {
|
|
188
187
|
case 0:
|
|
189
188
|
tag = TAG + " | get_account_info | ";
|
|
190
189
|
allEndpoints = __spreadArray([
|
|
@@ -217,7 +216,7 @@ var get_account_info = function (address) {
|
|
|
217
216
|
], MAYA_NODES.map(function (nodeUrl) { return ({
|
|
218
217
|
name: nodeUrl,
|
|
219
218
|
fetch: function () { return __awaiter(_this, void 0, void 0, function () {
|
|
220
|
-
var
|
|
219
|
+
var accountResult, accountData, coins, balanceResult, e_2;
|
|
221
220
|
return __generator(this, function (_a) {
|
|
222
221
|
switch (_a.label) {
|
|
223
222
|
case 0: return [4 /*yield*/, axiosInstance({
|
|
@@ -226,16 +225,33 @@ var get_account_info = function (address) {
|
|
|
226
225
|
timeout: 8000
|
|
227
226
|
})];
|
|
228
227
|
case 1:
|
|
229
|
-
|
|
230
|
-
accountData =
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
228
|
+
accountResult = _a.sent();
|
|
229
|
+
accountData = accountResult.data.account || accountResult.data;
|
|
230
|
+
coins = [];
|
|
231
|
+
_a.label = 2;
|
|
232
|
+
case 2:
|
|
233
|
+
_a.trys.push([2, 4, , 5]);
|
|
234
|
+
return [4 /*yield*/, axiosInstance({
|
|
235
|
+
method: 'GET',
|
|
236
|
+
url: "".concat(nodeUrl, "/cosmos/bank/v1beta1/balances/").concat(address),
|
|
237
|
+
timeout: 8000
|
|
238
|
+
})];
|
|
239
|
+
case 3:
|
|
240
|
+
balanceResult = _a.sent();
|
|
241
|
+
coins = balanceResult.data.balances || [];
|
|
242
|
+
return [3 /*break*/, 5];
|
|
243
|
+
case 4:
|
|
244
|
+
e_2 = _a.sent();
|
|
245
|
+
log.warn(tag, "Failed to fetch balances from ".concat(nodeUrl, ": ").concat(e_2.message));
|
|
246
|
+
return [3 /*break*/, 5];
|
|
247
|
+
case 5: return [2 /*return*/, {
|
|
248
|
+
account_number: String(accountData.account_number || '0'),
|
|
249
|
+
sequence: parseInt(accountData.sequence || '0'),
|
|
250
|
+
address: accountData.address || address,
|
|
251
|
+
coins: coins,
|
|
252
|
+
public_key: accountData.pub_key || null,
|
|
253
|
+
source: nodeUrl
|
|
254
|
+
}];
|
|
239
255
|
}
|
|
240
256
|
});
|
|
241
257
|
}); }
|
|
@@ -246,7 +262,7 @@ var get_account_info = function (address) {
|
|
|
246
262
|
// Extract successful responses
|
|
247
263
|
];
|
|
248
264
|
case 1:
|
|
249
|
-
results =
|
|
265
|
+
results = _a.sent();
|
|
250
266
|
successfulResults = results
|
|
251
267
|
.filter(function (result) { return result.status === 'fulfilled'; })
|
|
252
268
|
.map(function (result) { return result.value; });
|
|
@@ -260,6 +276,8 @@ var get_account_info = function (address) {
|
|
|
260
276
|
return current.sequence > max.sequence ? current : max;
|
|
261
277
|
});
|
|
262
278
|
log.info(tag, "Using account info from ".concat(mostRecentAccount.source, " with sequence ").concat(mostRecentAccount.sequence));
|
|
279
|
+
cacaoCoin = mostRecentAccount.coins.find(function (coin) { return coin.denom === 'cacao'; });
|
|
280
|
+
cacaoBalance = (cacaoCoin === null || cacaoCoin === void 0 ? void 0 : cacaoCoin.amount) || '0';
|
|
263
281
|
// Return in expected format
|
|
264
282
|
return [2 /*return*/, {
|
|
265
283
|
result: {
|
|
@@ -273,7 +291,7 @@ var get_account_info = function (address) {
|
|
|
273
291
|
},
|
|
274
292
|
accountNumber: mostRecentAccount.account_number,
|
|
275
293
|
sequence: String(mostRecentAccount.sequence),
|
|
276
|
-
balance:
|
|
294
|
+
balance: cacaoBalance,
|
|
277
295
|
assets: mostRecentAccount.coins || []
|
|
278
296
|
}];
|
|
279
297
|
}
|
|
@@ -282,7 +300,7 @@ var get_account_info = function (address) {
|
|
|
282
300
|
};
|
|
283
301
|
var get_balance = function (address) {
|
|
284
302
|
return __awaiter(this, void 0, void 0, function () {
|
|
285
|
-
var tag, accountInfo, balance,
|
|
303
|
+
var tag, accountInfo, balance, e_3;
|
|
286
304
|
return __generator(this, function (_a) {
|
|
287
305
|
switch (_a.label) {
|
|
288
306
|
case 0:
|
|
@@ -299,9 +317,9 @@ var get_balance = function (address) {
|
|
|
299
317
|
// Convert from base units to CACAO
|
|
300
318
|
return [2 /*return*/, balance / BASE_MAYA];
|
|
301
319
|
case 3:
|
|
302
|
-
|
|
303
|
-
log.error(tag, "Error:",
|
|
304
|
-
throw
|
|
320
|
+
e_3 = _a.sent();
|
|
321
|
+
log.error(tag, "Error:", e_3.message);
|
|
322
|
+
throw e_3;
|
|
305
323
|
case 4: return [2 /*return*/];
|
|
306
324
|
}
|
|
307
325
|
});
|
|
@@ -309,7 +327,7 @@ var get_balance = function (address) {
|
|
|
309
327
|
};
|
|
310
328
|
var get_balances = function (address) {
|
|
311
329
|
return __awaiter(this, void 0, void 0, function () {
|
|
312
|
-
var tag, accountInfo, output, cacaoBalance, _i, _a, asset,
|
|
330
|
+
var tag, accountInfo, output, cacaoBalance, _i, _a, asset, e_4;
|
|
313
331
|
return __generator(this, function (_b) {
|
|
314
332
|
switch (_b.label) {
|
|
315
333
|
case 0:
|
|
@@ -358,9 +376,9 @@ var get_balances = function (address) {
|
|
|
358
376
|
}
|
|
359
377
|
return [2 /*return*/, output];
|
|
360
378
|
case 3:
|
|
361
|
-
|
|
362
|
-
log.error(tag, "Error:",
|
|
363
|
-
throw
|
|
379
|
+
e_4 = _b.sent();
|
|
380
|
+
log.error(tag, "Error:", e_4.message);
|
|
381
|
+
throw e_4;
|
|
364
382
|
case 4: return [2 /*return*/];
|
|
365
383
|
}
|
|
366
384
|
});
|
|
@@ -368,7 +386,7 @@ var get_balances = function (address) {
|
|
|
368
386
|
};
|
|
369
387
|
var get_txs_by_address = function (address_1, cursor_1) {
|
|
370
388
|
return __awaiter(this, arguments, void 0, function (address, cursor, pageSize) {
|
|
371
|
-
var tag, params, result,
|
|
389
|
+
var tag, params, result, e_5;
|
|
372
390
|
if (pageSize === void 0) { pageSize = 50; }
|
|
373
391
|
return __generator(this, function (_a) {
|
|
374
392
|
switch (_a.label) {
|
|
@@ -390,9 +408,9 @@ var get_txs_by_address = function (address_1, cursor_1) {
|
|
|
390
408
|
result = _a.sent();
|
|
391
409
|
return [2 /*return*/, result.data];
|
|
392
410
|
case 3:
|
|
393
|
-
|
|
394
|
-
log.error(tag, "Error:",
|
|
395
|
-
throw
|
|
411
|
+
e_5 = _a.sent();
|
|
412
|
+
log.error(tag, "Error:", e_5.message);
|
|
413
|
+
throw e_5;
|
|
396
414
|
case 4: return [2 /*return*/];
|
|
397
415
|
}
|
|
398
416
|
});
|
|
@@ -400,26 +418,47 @@ var get_txs_by_address = function (address_1, cursor_1) {
|
|
|
400
418
|
};
|
|
401
419
|
var get_transaction = function (txid) {
|
|
402
420
|
return __awaiter(this, void 0, void 0, function () {
|
|
403
|
-
var tag;
|
|
421
|
+
var tag, _i, MAYA_NODES_1, nodeUrl, result, e_6, errorMsg;
|
|
404
422
|
return __generator(this, function (_a) {
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
423
|
+
switch (_a.label) {
|
|
424
|
+
case 0:
|
|
425
|
+
tag = TAG + " | get_transaction | ";
|
|
426
|
+
_i = 0, MAYA_NODES_1 = MAYA_NODES;
|
|
427
|
+
_a.label = 1;
|
|
428
|
+
case 1:
|
|
429
|
+
if (!(_i < MAYA_NODES_1.length)) return [3 /*break*/, 6];
|
|
430
|
+
nodeUrl = MAYA_NODES_1[_i];
|
|
431
|
+
_a.label = 2;
|
|
432
|
+
case 2:
|
|
433
|
+
_a.trys.push([2, 4, , 5]);
|
|
434
|
+
log.info(tag, "Trying to fetch tx from: ".concat(nodeUrl));
|
|
435
|
+
return [4 /*yield*/, axiosInstance({
|
|
436
|
+
method: 'GET',
|
|
437
|
+
url: "".concat(nodeUrl, "/cosmos/tx/v1beta1/txs/").concat(txid),
|
|
438
|
+
timeout: 8000
|
|
439
|
+
})];
|
|
440
|
+
case 3:
|
|
441
|
+
result = _a.sent();
|
|
442
|
+
log.info(tag, "Successfully fetched tx from ".concat(nodeUrl));
|
|
443
|
+
return [2 /*return*/, result.data];
|
|
444
|
+
case 4:
|
|
445
|
+
e_6 = _a.sent();
|
|
446
|
+
log.warn(tag, "Failed to fetch tx from ".concat(nodeUrl, ": ").concat(e_6.message));
|
|
447
|
+
return [3 /*break*/, 5];
|
|
448
|
+
case 5:
|
|
449
|
+
_i++;
|
|
450
|
+
return [3 /*break*/, 1];
|
|
451
|
+
case 6:
|
|
452
|
+
errorMsg = "Transaction lookup failed on all Maya nodes";
|
|
453
|
+
log.error(tag, errorMsg);
|
|
454
|
+
throw new Error(errorMsg);
|
|
415
455
|
}
|
|
416
|
-
return [2 /*return*/];
|
|
417
456
|
});
|
|
418
457
|
});
|
|
419
458
|
};
|
|
420
459
|
var broadcast_transaction = function (tx) {
|
|
421
460
|
return __awaiter(this, void 0, void 0, function () {
|
|
422
|
-
var tag, output, payload, result, unchainedError_1, nodeErrors, _i,
|
|
461
|
+
var tag, output, payload, result, unchainedError_1, nodeErrors, _i, MAYA_NODES_2, nodeUrl, nodeResult, txResponse, nodeError, nodeError_1, errorTxResponse, nodeErrorMsg;
|
|
423
462
|
var _a, _b, _c, _d, _e, _f;
|
|
424
463
|
return __generator(this, function (_g) {
|
|
425
464
|
switch (_g.label) {
|
|
@@ -477,11 +516,11 @@ var broadcast_transaction = function (tx) {
|
|
|
477
516
|
return [3 /*break*/, 4];
|
|
478
517
|
case 4:
|
|
479
518
|
nodeErrors = [];
|
|
480
|
-
_i = 0,
|
|
519
|
+
_i = 0, MAYA_NODES_2 = MAYA_NODES;
|
|
481
520
|
_g.label = 5;
|
|
482
521
|
case 5:
|
|
483
|
-
if (!(_i <
|
|
484
|
-
nodeUrl =
|
|
522
|
+
if (!(_i < MAYA_NODES_2.length)) return [3 /*break*/, 10];
|
|
523
|
+
nodeUrl = MAYA_NODES_2[_i];
|
|
485
524
|
_g.label = 6;
|
|
486
525
|
case 6:
|
|
487
526
|
_g.trys.push([6, 8, , 9]);
|
|
@@ -554,7 +593,7 @@ var broadcast_transaction = function (tx) {
|
|
|
554
593
|
// Pool endpoints use Midgard (not available in Unchained)
|
|
555
594
|
var get_pool = function (poolId) {
|
|
556
595
|
return __awaiter(this, void 0, void 0, function () {
|
|
557
|
-
var tag, params, result,
|
|
596
|
+
var tag, params, result, e_7;
|
|
558
597
|
return __generator(this, function (_a) {
|
|
559
598
|
switch (_a.label) {
|
|
560
599
|
case 0:
|
|
@@ -576,9 +615,9 @@ var get_pool = function (poolId) {
|
|
|
576
615
|
result = _a.sent();
|
|
577
616
|
return [2 /*return*/, result.data];
|
|
578
617
|
case 3:
|
|
579
|
-
|
|
580
|
-
log.error(tag, "Error:",
|
|
581
|
-
throw
|
|
618
|
+
e_7 = _a.sent();
|
|
619
|
+
log.error(tag, "Error:", e_7.message);
|
|
620
|
+
throw e_7;
|
|
582
621
|
case 4: return [2 /*return*/];
|
|
583
622
|
}
|
|
584
623
|
});
|
|
@@ -586,7 +625,7 @@ var get_pool = function (poolId) {
|
|
|
586
625
|
};
|
|
587
626
|
var get_pools = function () {
|
|
588
627
|
return __awaiter(this, void 0, void 0, function () {
|
|
589
|
-
var tag, result,
|
|
628
|
+
var tag, result, e_8;
|
|
590
629
|
return __generator(this, function (_a) {
|
|
591
630
|
switch (_a.label) {
|
|
592
631
|
case 0:
|
|
@@ -603,9 +642,9 @@ var get_pools = function () {
|
|
|
603
642
|
result = _a.sent();
|
|
604
643
|
return [2 /*return*/, result.data];
|
|
605
644
|
case 3:
|
|
606
|
-
|
|
607
|
-
log.error(tag, "Error:",
|
|
608
|
-
throw
|
|
645
|
+
e_8 = _a.sent();
|
|
646
|
+
log.error(tag, "Error:", e_8.message);
|
|
647
|
+
throw e_8;
|
|
609
648
|
case 4: return [2 /*return*/];
|
|
610
649
|
}
|
|
611
650
|
});
|