@pioneer-platform/utxo-network 8.1.62 → 8.1.64

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 (2) hide show
  1. package/lib/index.js +147 -102
  2. package/package.json +2 -2
package/lib/index.js CHANGED
@@ -385,73 +385,45 @@ var get_fee = function (coin) {
385
385
  });
386
386
  });
387
387
  };
388
+ /*
389
+ TODO - this is a mess
390
+
391
+ - need to figure out how to handle unchained vs node
392
+
393
+ We should broadcast many nodes
394
+
395
+ - unchained
396
+ - daemon
397
+ - blockbook
398
+
399
+ shotgun approach
400
+ push too all
401
+ first txid returns success
402
+ */
388
403
  var broadcast_transaction = function (coin, tx) {
389
404
  return __awaiter(this, void 0, void 0, function () {
390
- var tag, output, responseBroadcast, url, body, output_1, e_6, e_7, e_8;
405
+ var tag, output, result, responseBroadcast, e_6;
391
406
  return __generator(this, function (_a) {
392
407
  switch (_a.label) {
393
408
  case 0:
394
409
  tag = TAG + " | broadcast_transaction | ";
395
410
  _a.label = 1;
396
411
  case 1:
397
- _a.trys.push([1, 12, , 13]);
412
+ _a.trys.push([1, 6, , 7]);
398
413
  output = {
399
414
  success: false
400
415
  };
401
416
  log.info(tag, "coin: ", coin);
402
- _a.label = 2;
417
+ if (!unchained[SYMBOL_TO_CAIP[coin]]) return [3 /*break*/, 3];
418
+ return [4 /*yield*/, unchained[SYMBOL_TO_CAIP[coin]].SendTx({ hex: tx })];
403
419
  case 2:
404
- _a.trys.push([2, 10, , 11]);
405
- responseBroadcast = void 0;
406
- if (!(coin === 'BTC')) return [3 /*break*/, 7];
407
- log.info(tag, "BTC detected!");
408
- url = "https://api.bitcoin.shapeshift.com/api/v1/send";
409
- body = {
410
- url: url,
411
- method: 'POST',
412
- json: false,
413
- data: { hex: tx },
414
- };
415
- output_1 = {
416
- success: false
417
- };
418
- _a.label = 3;
419
- case 3:
420
- _a.trys.push([3, 5, , 6]);
421
- return [4 /*yield*/, axios(body)];
420
+ result = _a.sent();
421
+ log.info(tag, "result.data: ", result.data);
422
+ output.txid = result.data;
423
+ output.success = true;
424
+ return [3 /*break*/, 5];
425
+ case 3: return [4 /*yield*/, blockbook.broadcast(coin, tx)];
422
426
  case 4:
423
- responseBroadcast = _a.sent();
424
- responseBroadcast = responseBroadcast.data;
425
- log.info(tag, 'responseBroadcast: ', responseBroadcast);
426
- output_1.txid = responseBroadcast;
427
- if (output_1.txid)
428
- output_1.success = true;
429
- return [3 /*break*/, 6];
430
- case 5:
431
- e_6 = _a.sent();
432
- // log.info(tag,"error: ",e)
433
- // log.info(tag,"data0: ",e)
434
- // log.info(tag,"resp: ",resp)
435
- // log.info(tag,"data0: ",Object.keys(e))
436
- // log.info(tag,"data1: ",e.response.req)
437
- log.info(tag, "data2: ", e_6.response.data);
438
- log.info(tag, "data2: ", e_6.response.data.message);
439
- // log.info(tag,"error3: ",e.toJSON().request)
440
- // log.info(tag,"erro4: ",e.toJSON().data)
441
- // log.info(tag,"error5: ",e.toJSON().code)
442
- if (e_6.response.data.message) {
443
- log.info(tag, "saving message! ");
444
- output_1.error = e_6.response.data.message;
445
- }
446
- else {
447
- output_1.error = e_6;
448
- }
449
- return [3 /*break*/, 6];
450
- case 6:
451
- log.info(tag, "output: ", output_1);
452
- return [2 /*return*/, output_1];
453
- case 7: return [4 /*yield*/, blockbook.broadcast(coin, tx)];
454
- case 8:
455
427
  responseBroadcast = _a.sent();
456
428
  log.info(tag, 'responseBroadcast: ', responseBroadcast);
457
429
  if (responseBroadcast.success && responseBroadcast.success !== false) {
@@ -470,27 +442,95 @@ var broadcast_transaction = function (coin, tx) {
470
442
  output.error = "unknown error";
471
443
  output.debug = responseBroadcast;
472
444
  }
473
- return [2 /*return*/, output];
474
- case 9: return [3 /*break*/, 11];
475
- case 10:
476
- e_7 = _a.sent();
477
- //TODO handle errors
478
- if (!output.error)
479
- output.error = e_7;
480
- return [2 /*return*/, output];
481
- case 11: return [3 /*break*/, 13];
482
- case 12:
483
- e_8 = _a.sent();
484
- console.error(tag, e_8);
485
- throw e_8;
486
- case 13: return [2 /*return*/];
445
+ _a.label = 5;
446
+ case 5:
447
+ //Jesus fuck
448
+ // try{
449
+ // //TODO use for non-bitcoin? wtf why bitcoin blockbook broke?
450
+ // let responseBroadcast
451
+ // if(coin === 'BTC'){
452
+ // log.info(tag,"BTC detected!")
453
+ // let url = "https://api.bitcoin.shapeshift.com/api/v1/send"
454
+ // let body = {
455
+ // url,
456
+ // method: 'POST',
457
+ // json:false,
458
+ // data:{hex:tx},
459
+ // }
460
+ // let output:any = {
461
+ // success:false
462
+ // }
463
+ // try{
464
+ // responseBroadcast = await axios(body)
465
+ // responseBroadcast = responseBroadcast.data
466
+ // log.info(tag,'responseBroadcast: ',responseBroadcast)
467
+ // output.txid = responseBroadcast
468
+ // if(output.txid)output.success = true
469
+ //
470
+ // }catch(e:any){
471
+ // // log.info(tag,"error: ",e)
472
+ // // log.info(tag,"data0: ",e)
473
+ // // log.info(tag,"resp: ",resp)
474
+ // // log.info(tag,"data0: ",Object.keys(e))
475
+ // // log.info(tag,"data1: ",e.response.req)
476
+ // log.info(tag,"data2: ",e.response.data)
477
+ // log.info(tag,"data2: ",e.response.data.message)
478
+ // // log.info(tag,"error3: ",e.toJSON().request)
479
+ // // log.info(tag,"erro4: ",e.toJSON().data)
480
+ // // log.info(tag,"error5: ",e.toJSON().code)
481
+ // if(e.response.data.message){
482
+ // log.info(tag,"saving message! ")
483
+ // output.error = e.response.data.message
484
+ // }else{
485
+ // output.error = e
486
+ // }
487
+ // }
488
+ // log.info(tag,"output: ",output)
489
+ // return output
490
+ // } else {
491
+ // responseBroadcast = await blockbook.broadcast(coin,tx)
492
+ // log.info(tag,'responseBroadcast: ',responseBroadcast)
493
+ // if(responseBroadcast.success && responseBroadcast.success !== false){
494
+ // output.success = true
495
+ // if(responseBroadcast.txid){
496
+ // output.txid = responseBroadcast.resp.data.result
497
+ // }
498
+ // if(responseBroadcast.resp.data.result){
499
+ // output.txid = responseBroadcast.resp.data.result
500
+ // }
501
+ // } else if(responseBroadcast.error) {
502
+ // output.error = responseBroadcast.error
503
+ // } else {
504
+ // output.error = "unknown error"
505
+ // output.debug = responseBroadcast
506
+ // }
507
+ // return output
508
+ // }
509
+ //
510
+ // //use nodes
511
+ // // log.info(tag,'nodeMap: ',nodeMap)
512
+ // // let responseBroadcast = await nodeMap[coin].sendRawTransaction(tx)
513
+ // // log.info(tag,'responseBroadcast: ',responseBroadcast)
514
+ //
515
+ //
516
+ // }catch(e){
517
+ // //TODO handle errors
518
+ // if(!output.error)output.error = e
519
+ // return output
520
+ // }
521
+ return [2 /*return*/, output];
522
+ case 6:
523
+ e_6 = _a.sent();
524
+ console.error(tag, e_6);
525
+ throw e_6;
526
+ case 7: return [2 /*return*/];
487
527
  }
488
528
  });
489
529
  });
490
530
  };
491
531
  var get_balance_by_addresses = function (coin, addresses) {
492
532
  return __awaiter(this, void 0, void 0, function () {
493
- var tag, query, i, address, balanceInfo, e_9;
533
+ var tag, query, i, address, balanceInfo, e_7;
494
534
  return __generator(this, function (_a) {
495
535
  switch (_a.label) {
496
536
  case 0:
@@ -512,8 +552,8 @@ var get_balance_by_addresses = function (coin, addresses) {
512
552
  //https://blockchain.info/multiaddr?active=$address|$address
513
553
  return [2 /*return*/, balanceInfo.data];
514
554
  case 3:
515
- e_9 = _a.sent();
516
- console.error(tag, e_9);
555
+ e_7 = _a.sent();
556
+ console.error(tag, e_7);
517
557
  return [3 /*break*/, 4];
518
558
  case 4: return [2 /*return*/];
519
559
  }
@@ -522,7 +562,7 @@ var get_balance_by_addresses = function (coin, addresses) {
522
562
  };
523
563
  var get_balance_by_address = function (coin, address) {
524
564
  return __awaiter(this, void 0, void 0, function () {
525
- var tag, balanceInfo, e_10;
565
+ var tag, balanceInfo, e_8;
526
566
  return __generator(this, function (_a) {
527
567
  switch (_a.label) {
528
568
  case 0:
@@ -535,8 +575,8 @@ var get_balance_by_address = function (coin, address) {
535
575
  balanceInfo = _a.sent();
536
576
  return [2 /*return*/, balanceInfo.data.balance];
537
577
  case 3:
538
- e_10 = _a.sent();
539
- console.error(tag, e_10);
578
+ e_8 = _a.sent();
579
+ console.error(tag, e_8);
540
580
  return [3 /*break*/, 4];
541
581
  case 4: return [2 /*return*/];
542
582
  }
@@ -545,14 +585,14 @@ var get_balance_by_address = function (coin, address) {
545
585
  };
546
586
  var get_utxos_by_xpub = function (coin, xpub) {
547
587
  return __awaiter(this, void 0, void 0, function () {
548
- var tag, output, result, e_11;
588
+ var tag, output, result, e_9, e_10;
549
589
  return __generator(this, function (_a) {
550
590
  switch (_a.label) {
551
591
  case 0:
552
592
  tag = TAG + " | get_utxos_by_xpub | ";
553
593
  _a.label = 1;
554
594
  case 1:
555
- _a.trys.push([1, 5, , 6]);
595
+ _a.trys.push([1, 7, , 8]);
556
596
  output = {};
557
597
  if (!unchained[SYMBOL_TO_CAIP[coin]]) return [3 /*break*/, 3];
558
598
  return [4 /*yield*/, unchained[SYMBOL_TO_CAIP[coin]].GetUtxos({ pubkey: xpub })
@@ -562,26 +602,31 @@ var get_utxos_by_xpub = function (coin, xpub) {
562
602
  result = _a.sent();
563
603
  //console.log("result: ",result.data)
564
604
  output = result.data;
565
- return [3 /*break*/, 4];
605
+ return [3 /*break*/, 6];
566
606
  case 3:
567
- console.log("no unchained for coin: ", coin);
568
- //@TODO fall back to node
569
- output.success = false;
570
- output.error = "no unchained for coin: " + coin;
571
- _a.label = 4;
572
- case 4: return [2 /*return*/, output];
607
+ _a.trys.push([3, 5, , 6]);
608
+ return [4 /*yield*/, blockbook.utxosByXpub(coin, xpub)];
609
+ case 4:
610
+ output = _a.sent();
611
+ log.info(tag, "output: ", output);
612
+ return [3 /*break*/, 6];
573
613
  case 5:
574
- e_11 = _a.sent();
575
- console.error(tag, e_11);
576
- throw e_11;
577
- case 6: return [2 /*return*/];
614
+ e_9 = _a.sent();
615
+ output.error = e_9;
616
+ return [3 /*break*/, 6];
617
+ case 6: return [2 /*return*/, output];
618
+ case 7:
619
+ e_10 = _a.sent();
620
+ console.error(tag, e_10);
621
+ throw e_10;
622
+ case 8: return [2 /*return*/];
578
623
  }
579
624
  });
580
625
  });
581
626
  };
582
627
  var get_balance_by_xpub = function (coin, xpub) {
583
628
  return __awaiter(this, void 0, void 0, function () {
584
- var tag, output, balance, i, uxto, e_12;
629
+ var tag, output, balance, i, uxto, e_11;
585
630
  return __generator(this, function (_a) {
586
631
  switch (_a.label) {
587
632
  case 0:
@@ -601,8 +646,8 @@ var get_balance_by_xpub = function (coin, xpub) {
601
646
  }
602
647
  return [2 /*return*/, balance / 100000000];
603
648
  case 3:
604
- e_12 = _a.sent();
605
- console.error(tag, e_12);
649
+ e_11 = _a.sent();
650
+ console.error(tag, e_11);
606
651
  return [3 /*break*/, 4];
607
652
  case 4: return [2 /*return*/];
608
653
  }
@@ -611,7 +656,7 @@ var get_balance_by_xpub = function (coin, xpub) {
611
656
  };
612
657
  var get_block_hash = function (coin, height) {
613
658
  return __awaiter(this, void 0, void 0, function () {
614
- var tag, blockHash, e_13;
659
+ var tag, blockHash, e_12;
615
660
  return __generator(this, function (_a) {
616
661
  switch (_a.label) {
617
662
  case 0:
@@ -625,8 +670,8 @@ var get_block_hash = function (coin, height) {
625
670
  log.debug(tag, "blockHash: ", blockHash);
626
671
  return [2 /*return*/, blockHash];
627
672
  case 3:
628
- e_13 = _a.sent();
629
- console.error(tag, e_13);
673
+ e_12 = _a.sent();
674
+ console.error(tag, e_12);
630
675
  return [3 /*break*/, 4];
631
676
  case 4: return [2 /*return*/];
632
677
  }
@@ -635,7 +680,7 @@ var get_block_hash = function (coin, height) {
635
680
  };
636
681
  var get_transaction = function (coin, txid, format) {
637
682
  return __awaiter(this, void 0, void 0, function () {
638
- var tag, txInfo, output, e_14;
683
+ var tag, txInfo, output, e_13;
639
684
  return __generator(this, function (_a) {
640
685
  switch (_a.label) {
641
686
  case 0:
@@ -651,9 +696,9 @@ var get_transaction = function (coin, txid, format) {
651
696
  log.debug(tag, "output: ", output);
652
697
  return [2 /*return*/, output];
653
698
  case 3:
654
- e_14 = _a.sent();
655
- console.error(tag, 'Error: ', e_14);
656
- throw e_14;
699
+ e_13 = _a.sent();
700
+ console.error(tag, 'Error: ', e_13);
701
+ throw e_13;
657
702
  case 4: return [2 /*return*/];
658
703
  }
659
704
  });
@@ -787,7 +832,7 @@ var get_txs_by_xpubs = function (coin, xpub) {
787
832
  // }
788
833
  var get_block = function (coin, height) {
789
834
  return __awaiter(this, void 0, void 0, function () {
790
- var tag, blockHash, blockInfo, e_15;
835
+ var tag, blockHash, blockInfo, e_14;
791
836
  return __generator(this, function (_a) {
792
837
  switch (_a.label) {
793
838
  case 0:
@@ -806,8 +851,8 @@ var get_block = function (coin, height) {
806
851
  log.debug(tag, "blockInfo: ", blockInfo);
807
852
  return [2 /*return*/, blockInfo];
808
853
  case 4:
809
- e_15 = _a.sent();
810
- console.error(tag, e_15);
854
+ e_14 = _a.sent();
855
+ console.error(tag, e_14);
811
856
  return [3 /*break*/, 5];
812
857
  case 5: return [2 /*return*/];
813
858
  }
@@ -840,7 +885,7 @@ var get_block = function (coin, height) {
840
885
  // }
841
886
  var get_node_info = function (coin) {
842
887
  return __awaiter(this, void 0, void 0, function () {
843
- var tag, results, e_16;
888
+ var tag, results, e_15;
844
889
  return __generator(this, function (_a) {
845
890
  switch (_a.label) {
846
891
  case 0:
@@ -855,8 +900,8 @@ var get_node_info = function (coin) {
855
900
  results.coin = coin;
856
901
  return [2 /*return*/, results];
857
902
  case 3:
858
- e_16 = _a.sent();
859
- console.error(tag, e_16);
903
+ e_15 = _a.sent();
904
+ console.error(tag, e_15);
860
905
  return [3 /*break*/, 4];
861
906
  case 4: return [2 /*return*/];
862
907
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pioneer-platform/utxo-network",
3
- "version": "8.1.62",
3
+ "version": "8.1.64",
4
4
  "main": "./lib/index.js",
5
5
  "types": "./lib/index.d.ts",
6
6
  "scripts": {
@@ -32,5 +32,5 @@
32
32
  "ts-node": "^10.9.1",
33
33
  "typescript": "^5.0.2"
34
34
  },
35
- "gitHead": "8c626a669f7045d1eb9c00252d9a81845a57fa50"
35
+ "gitHead": "974ddd872e4595ebc78a4f983811303b9623cf82"
36
36
  }