@teleportdao/bitcoin 3.0.0 → 4.0.0-alpha.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.
Files changed (105) hide show
  1. package/dist/bitcoin-interface-ordinal.d.ts +24 -24
  2. package/dist/bitcoin-interface-ordinal.d.ts.map +1 -1
  3. package/dist/bitcoin-interface-ordinal.js +89 -107
  4. package/dist/bitcoin-interface-ordinal.js.map +1 -1
  5. package/dist/bitcoin-interface-teleswap.d.ts +2 -2
  6. package/dist/bitcoin-interface-teleswap.d.ts.map +1 -1
  7. package/dist/bitcoin-interface-teleswap.js +77 -88
  8. package/dist/bitcoin-interface-teleswap.js.map +1 -1
  9. package/dist/bitcoin-interface-utils.d.ts +7 -4
  10. package/dist/bitcoin-interface-utils.d.ts.map +1 -1
  11. package/dist/bitcoin-interface-utils.js +11 -5
  12. package/dist/bitcoin-interface-utils.js.map +1 -1
  13. package/dist/bitcoin-interface-wallet.d.ts +1 -0
  14. package/dist/bitcoin-interface-wallet.d.ts.map +1 -1
  15. package/dist/bitcoin-interface-wallet.js +87 -95
  16. package/dist/bitcoin-interface-wallet.js.map +1 -1
  17. package/dist/bitcoin-interface.d.ts.map +1 -1
  18. package/dist/bitcoin-interface.js +58 -87
  19. package/dist/bitcoin-interface.js.map +1 -1
  20. package/dist/bitcoin-utils.d.ts +7 -4
  21. package/dist/bitcoin-utils.d.ts.map +1 -1
  22. package/dist/bitcoin-utils.js +93 -54
  23. package/dist/bitcoin-utils.js.map +1 -1
  24. package/dist/bitcoin-wallet-base.d.ts +23 -11
  25. package/dist/bitcoin-wallet-base.d.ts.map +1 -1
  26. package/dist/bitcoin-wallet-base.js +148 -138
  27. package/dist/bitcoin-wallet-base.js.map +1 -1
  28. package/dist/helper/brc20-helper.d.ts.map +1 -1
  29. package/dist/helper/brc20-helper.js +4 -6
  30. package/dist/helper/brc20-helper.js.map +1 -1
  31. package/dist/helper/index.js +17 -7
  32. package/dist/helper/index.js.map +1 -1
  33. package/dist/helper/ordinal-helper.d.ts +3 -9
  34. package/dist/helper/ordinal-helper.d.ts.map +1 -1
  35. package/dist/helper/ordinal-helper.js +20 -85
  36. package/dist/helper/ordinal-helper.js.map +1 -1
  37. package/dist/helper/teleswap-helper.d.ts.map +1 -1
  38. package/dist/helper/teleswap-helper.js +13 -12
  39. package/dist/helper/teleswap-helper.js.map +1 -1
  40. package/dist/index.d.ts +1 -0
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +18 -7
  43. package/dist/index.js.map +1 -1
  44. package/dist/multisig-wallet-helper.d.ts +14 -1
  45. package/dist/multisig-wallet-helper.d.ts.map +1 -1
  46. package/dist/multisig-wallet-helper.js +135 -149
  47. package/dist/multisig-wallet-helper.js.map +1 -1
  48. package/dist/ordinal-wallet.d.ts +27 -19
  49. package/dist/ordinal-wallet.d.ts.map +1 -1
  50. package/dist/ordinal-wallet.js +263 -293
  51. package/dist/ordinal-wallet.js.map +1 -1
  52. package/dist/sign/sign-transaction.d.ts +5 -2
  53. package/dist/sign/sign-transaction.d.ts.map +1 -1
  54. package/dist/sign/sign-transaction.js +32 -39
  55. package/dist/sign/sign-transaction.js.map +1 -1
  56. package/dist/teleswap-wallet.d.ts +1 -0
  57. package/dist/teleswap-wallet.d.ts.map +1 -1
  58. package/dist/teleswap-wallet.js +40 -53
  59. package/dist/teleswap-wallet.js.map +1 -1
  60. package/dist/transaction-builder/bitcoin-transaction-builder.js +21 -21
  61. package/dist/transaction-builder/bitcoin-transaction-builder.js.map +1 -1
  62. package/dist/transaction-builder/coin-select.d.ts +19 -3
  63. package/dist/transaction-builder/coin-select.d.ts.map +1 -1
  64. package/dist/transaction-builder/coin-select.js +193 -181
  65. package/dist/transaction-builder/coin-select.js.map +1 -1
  66. package/dist/transaction-builder/index.d.ts +1 -0
  67. package/dist/transaction-builder/index.d.ts.map +1 -1
  68. package/dist/transaction-builder/index.js +1 -0
  69. package/dist/transaction-builder/index.js.map +1 -1
  70. package/dist/transaction-builder/ordinal-transaction-builder.d.ts +4 -4
  71. package/dist/transaction-builder/ordinal-transaction-builder.d.ts.map +1 -1
  72. package/dist/transaction-builder/ordinal-transaction-builder.js +51 -48
  73. package/dist/transaction-builder/ordinal-transaction-builder.js.map +1 -1
  74. package/dist/transaction-builder/transaction-builder.d.ts +57 -54
  75. package/dist/transaction-builder/transaction-builder.d.ts.map +1 -1
  76. package/dist/transaction-builder/transaction-builder.js +394 -308
  77. package/dist/transaction-builder/transaction-builder.js.map +1 -1
  78. package/dist/utils/networks.js +17 -7
  79. package/dist/utils/networks.js.map +1 -1
  80. package/dist/utils/tools.js +24 -35
  81. package/dist/utils/tools.js.map +1 -1
  82. package/package.json +4 -4
  83. package/src/bitcoin-interface-utils.ts +17 -8
  84. package/src/bitcoin-interface-wallet.ts +15 -1
  85. package/src/bitcoin-utils.ts +52 -3
  86. package/src/bitcoin-wallet-base.ts +67 -23
  87. package/src/helper/ordinal-helper.ts +0 -83
  88. package/src/index.ts +2 -0
  89. package/src/multisig-wallet-helper.ts +296 -0
  90. package/src/sign/sign-transaction.ts +5 -7
  91. package/src/transaction-builder/coin-select.ts +633 -0
  92. package/src/transaction-builder/index.ts +1 -0
  93. package/src/transaction-builder/transaction-builder.ts +424 -279
  94. package/dist/bitcoin-wallet-base copy.d.ts +0 -122
  95. package/dist/bitcoin-wallet-base copy.d.ts.map +0 -1
  96. package/dist/bitcoin-wallet-base copy.js +0 -279
  97. package/dist/bitcoin-wallet-base copy.js.map +0 -1
  98. package/dist/multisig-coordinator-wallet.d.ts +0 -2
  99. package/dist/multisig-coordinator-wallet.d.ts.map +0 -1
  100. package/dist/multisig-coordinator-wallet.js +0 -6
  101. package/dist/multisig-coordinator-wallet.js.map +0 -1
  102. package/dist/multisig-wallet.d.ts +0 -20
  103. package/dist/multisig-wallet.d.ts.map +0 -1
  104. package/dist/multisig-wallet.js +0 -119
  105. package/dist/multisig-wallet.js.map +0 -1
@@ -7,6 +7,8 @@ exports.BitcoinInterfaceUtils = void 0;
7
7
  const networks_1 = __importDefault(require("./utils/networks"));
8
8
  const bitcoin_utils_1 = require("./bitcoin-utils");
9
9
  class BitcoinInterfaceUtils {
10
+ testnet;
11
+ network;
10
12
  constructor(networkName) {
11
13
  this.testnet = networkName.includes("_testnet");
12
14
  this.network = networks_1.default[networkName];
@@ -17,11 +19,11 @@ class BitcoinInterfaceUtils {
17
19
  throw new Error("incorrect input");
18
20
  return addressObj.address;
19
21
  }
20
- convertScriptToAddress(scriptHex, addressType) {
21
- let addressObj = (0, bitcoin_utils_1.createAddressObjectByScript)({ addressType, script: Buffer.from(scriptHex, "hex") }, this.network);
22
- if (!addressObj.address)
23
- throw new Error("incorrect input");
24
- return addressObj.address;
22
+ convertScriptToAddress(scriptHex) {
23
+ let address = (0, bitcoin_utils_1.convertBitcoinScriptToAddress)(Buffer.from(scriptHex, "hex"), this.network);
24
+ if (!address)
25
+ throw new Error("invalid script");
26
+ return address;
25
27
  }
26
28
  convertAddressToScript(address) {
27
29
  let { addressObject, addressType } = (0, bitcoin_utils_1.createAddressObjectByAddress)(address, this.network);
@@ -40,6 +42,10 @@ class BitcoinInterfaceUtils {
40
42
  let addObj = (0, bitcoin_utils_1.createAddressObjectByPublicKey)({ publicKey: Buffer.from(publicKey, "hex"), addressType }, this.network);
41
43
  return addObj;
42
44
  }
45
+ createMultisigAddressObjectByPublicKeys(multisig, addressType) {
46
+ let addObj = (0, bitcoin_utils_1.createMultisigAddressObjectByPublicKeys)(addressType, multisig, this.network);
47
+ return addObj;
48
+ }
43
49
  }
44
50
  exports.BitcoinInterfaceUtils = BitcoinInterfaceUtils;
45
51
  exports.default = BitcoinInterfaceUtils;
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-interface-utils.js","sourceRoot":"","sources":["../src/bitcoin-interface-utils.ts"],"names":[],"mappings":";;;;;;AACA,gEAAuC;AACvC,mDAKwB;AAExB,MAAa,qBAAqB;IAGhC,YAAY,WAAmB;QAC7B,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QAC/C,IAAI,CAAC,OAAO,GAAG,kBAAQ,CAAC,WAAW,CAAC,CAAA;IACtC,CAAC;IAED,oBAAoB,CAAC,OAAe,EAAE,WAAmB;QACvD,IAAI,UAAU,GAAG,IAAA,yCAAyB,EACxC,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAClD,IAAI,CAAC,OAAO,CACb,CAAA;QACD,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAC3D,OAAO,UAAU,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED,sBAAsB,CAAC,SAAiB,EAAE,WAAmB;QAC3D,IAAI,UAAU,GAAG,IAAA,2CAA2B,EAC1C,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EACtD,IAAI,CAAC,OAAO,CACb,CAAA;QACD,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAC3D,OAAO,UAAU,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED,sBAAsB,CAAC,OAAe;QACpC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAA,4CAA4B,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACxF,MAAM,IAAI,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAA;QAC/E,OAAO;YACL,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,IAAI;YACJ,WAAW;SACZ,CAAA;IACH,CAAC;IAED,sBAAsB,CAAC,OAAe;QACpC,IAAI,MAAM,GAAG,IAAA,4CAA4B,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAChE,OAAO,MAAM,CAAA;IACf,CAAC;IAED,8BAA8B,CAAC,SAAiB,EAAE,WAAmB;QACnE,IAAI,MAAM,GAAG,IAAA,8CAA8B,EACzC,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,EACzD,IAAI,CAAC,OAAO,CACb,CAAA;QACD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAhDD,sDAgDC;AAED,kBAAe,qBAAqB,CAAA"}
1
+ {"version":3,"file":"bitcoin-interface-utils.js","sourceRoot":"","sources":["../src/bitcoin-interface-utils.ts"],"names":[],"mappings":";;;;;;AACA,gEAAuC;AACvC,mDAMwB;AAExB,MAAa,qBAAqB;IAChC,OAAO,CAAS;IAChB,OAAO,CAAS;IAChB,YAAY,WAAmB;QAC7B,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QAC/C,IAAI,CAAC,OAAO,GAAG,kBAAQ,CAAC,WAAW,CAAC,CAAA;IACtC,CAAC;IAED,oBAAoB,CAAC,OAAe,EAAE,WAAmB;QACvD,IAAI,UAAU,GAAG,IAAA,yCAAyB,EACxC,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAClD,IAAI,CAAC,OAAO,CACb,CAAA;QACD,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAC3D,OAAO,UAAU,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED,sBAAsB,CAAC,SAAiB;QACtC,IAAI,OAAO,GAAG,IAAA,6CAA6B,EAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACxF,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;QAC/C,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,sBAAsB,CAAC,OAAe;QACpC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAA,4CAA4B,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACxF,MAAM,IAAI,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAA;QAC/E,OAAO;YACL,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,IAAI;YACJ,WAAW;SACZ,CAAA;IACH,CAAC;IAED,sBAAsB,CAAC,OAAe;QACpC,IAAI,MAAM,GAAG,IAAA,4CAA4B,EAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAChE,OAAO,MAAM,CAAA;IACf,CAAC;IAED,8BAA8B,CAAC,SAAiB,EAAE,WAAmB;QACnE,IAAI,MAAM,GAAG,IAAA,8CAA8B,EACzC,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,EACzD,IAAI,CAAC,OAAO,CACb,CAAA;QACD,OAAO,MAAM,CAAA;IACf,CAAC;IAED,uCAAuC,CACrC,QAGC,EACD,WAAmB;QAEnB,IAAI,MAAM,GAAG,IAAA,uDAAuC,EAAC,WAAW,EAAE,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACzF,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAxDD,sDAwDC;AAED,kBAAe,qBAAqB,CAAA"}
@@ -24,6 +24,7 @@ export declare class BitcoinInterfaceWallet extends BitcoinInterfaceUtils {
24
24
  }[]>;
25
25
  getBalance(address: string): Promise<number>;
26
26
  getRawTransaction(txId: string): Promise<string>;
27
+ getTransaction(txId: string): Promise<bitcoinProvider.Types.ConfirmedTransaction>;
27
28
  sendRawTransaction(txHex: string): Promise<any>;
28
29
  }
29
30
  export default BitcoinInterfaceWallet;
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-interface-wallet.d.ts","sourceRoot":"","sources":["../src/bitcoin-interface-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAA;AAE3E,qBAAa,sBAAuB,SAAQ,qBAAqB;IAC/D,YAAY,EAAE,eAAe,CAAC,KAAK,CAAC,YAAY,CAAA;IAChD,WAAW,EAAE,eAAe,CAAC,YAAY,CAAA;IACzC,WAAW,CAAC,EAAE,eAAe,CAAC,UAAU,CAAA;gBAC5B,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,qBAAqB;IAgBjE,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM;IAI7C,OAAO,CAAC,OAAO,EAAE,MAAM;IAIvB,eAAe,CAAC,UAAU,EAAE,UAAU;;;;;;IAUtC,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE;IAyBvC,wBAAwB,CAAC,WAAW,EAAE,UAAU,EAAE;;;;;;IAyBlD,UAAU,CAAC,OAAO,EAAE,MAAM;IAK1B,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAM9B,kBAAkB,CAAC,KAAK,EAAE,MAAM;CAKvC;AAED,eAAe,sBAAsB,CAAA"}
1
+ {"version":3,"file":"bitcoin-interface-wallet.d.ts","sourceRoot":"","sources":["../src/bitcoin-interface-wallet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAA;AAE3E,qBAAa,sBAAuB,SAAQ,qBAAqB;IAC/D,YAAY,EAAE,eAAe,CAAC,KAAK,CAAC,YAAY,CAAA;IAChD,WAAW,EAAE,eAAe,CAAC,YAAY,CAAA;IACzC,WAAW,CAAC,EAAE,eAAe,CAAC,UAAU,CAAA;gBAC5B,WAAW,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,qBAAqB;IAgBjE,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM;IAa7C,OAAO,CAAC,OAAO,EAAE,MAAM;IAIvB,eAAe,CAAC,UAAU,EAAE,UAAU;;;;;;IAUtC,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE;IAyBvC,wBAAwB,CAAC,WAAW,EAAE,UAAU,EAAE;;;;;;IAyBlD,UAAU,CAAC,OAAO,EAAE,MAAM;IAK1B,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAM9B,cAAc,CAAC,IAAI,EAAE,MAAM;IAK3B,kBAAkB,CAAC,KAAK,EAAE,MAAM;CAKvC;AAED,eAAe,sBAAsB,CAAA"}
@@ -1,125 +1,117 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.BitcoinInterfaceWallet = void 0;
13
4
  const providers_1 = require("@teleportdao/providers");
14
5
  const bitcoin_interface_utils_1 = require("./bitcoin-interface-utils");
15
6
  class BitcoinInterfaceWallet extends bitcoin_interface_utils_1.BitcoinInterfaceUtils {
7
+ utxoProvider;
8
+ apiProvider;
9
+ rpcProvider;
16
10
  constructor(networkName, connectionInfo) {
17
- var _a;
18
11
  super(networkName);
19
- if (((_a = connectionInfo === null || connectionInfo === void 0 ? void 0 : connectionInfo.api) === null || _a === void 0 ? void 0 : _a.provider) === "BlockStream") {
12
+ if (connectionInfo?.api?.provider === "BlockStream") {
20
13
  this.apiProvider = new providers_1.bitcoin.BlockStream(this.testnet);
21
14
  }
22
15
  else {
23
16
  this.apiProvider = new providers_1.bitcoin.MempoolSpace(this.testnet);
24
17
  }
25
- this.utxoProvider = (connectionInfo === null || connectionInfo === void 0 ? void 0 : connectionInfo.utxo)
18
+ this.utxoProvider = connectionInfo?.utxo
26
19
  ? providers_1.bitcoin.getUtxoProvider(connectionInfo.utxo, networkName)
27
20
  : this.apiProvider;
28
- if (connectionInfo === null || connectionInfo === void 0 ? void 0 : connectionInfo.rpc)
29
- this.rpcProvider = providers_1.bitcoin.getRpcProvider(connectionInfo === null || connectionInfo === void 0 ? void 0 : connectionInfo.rpc);
21
+ if (connectionInfo?.rpc)
22
+ this.rpcProvider = providers_1.bitcoin.getRpcProvider(connectionInfo?.rpc);
30
23
  }
31
- getFeeRate(speed) {
32
- return __awaiter(this, void 0, void 0, function* () {
33
- return this.apiProvider.getRecommendedFeeRate(speed);
34
- });
24
+ async getFeeRate(speed) {
25
+ try {
26
+ let feeRate = await this.apiProvider.getRecommendedFeeRate(speed);
27
+ return feeRate;
28
+ }
29
+ catch (error) {
30
+ if (this.rpcProvider) {
31
+ let feeRate = await this.rpcProvider.getFeeRate("fast");
32
+ return feeRate;
33
+ }
34
+ throw error;
35
+ }
35
36
  }
36
- getUtxo(address) {
37
- return __awaiter(this, void 0, void 0, function* () {
38
- return this.utxoProvider.getUtxos(address);
39
- });
37
+ async getUtxo(address) {
38
+ return this.utxoProvider.getUtxos(address);
40
39
  }
41
- getExtendedUtxo(signerInfo) {
42
- return __awaiter(this, void 0, void 0, function* () {
43
- let utxos = yield this.getUtxo(signerInfo.address);
44
- return utxos.map((tx) => ({
45
- hash: tx.txId,
46
- value: tx.value,
47
- index: tx.index,
48
- signerInfo,
49
- }));
50
- });
40
+ async getExtendedUtxo(signerInfo) {
41
+ let utxos = await this.getUtxo(signerInfo.address);
42
+ return utxos.map((tx) => ({
43
+ hash: tx.txId,
44
+ value: tx.value,
45
+ index: tx.index,
46
+ signerInfo,
47
+ }));
51
48
  }
52
- getAddressesUtxo(allAddresses) {
53
- return __awaiter(this, void 0, void 0, function* () {
54
- const chunkOfAddresses = [];
55
- const chunkLength = 20;
56
- for (let i = 0; i < allAddresses.length; i += chunkLength) {
57
- const tmp = allAddresses.slice(i, i + chunkLength);
58
- chunkOfAddresses.push(tmp);
49
+ async getAddressesUtxo(allAddresses) {
50
+ const chunkOfAddresses = [];
51
+ const chunkLength = 20;
52
+ for (let i = 0; i < allAddresses.length; i += chunkLength) {
53
+ const tmp = allAddresses.slice(i, i + chunkLength);
54
+ chunkOfAddresses.push(tmp);
55
+ }
56
+ let results = [];
57
+ for (let addresses of chunkOfAddresses) {
58
+ const allPromises = [];
59
+ for (let address of addresses) {
60
+ let promise = await this.getUtxo(address);
61
+ allPromises.push(promise);
59
62
  }
60
- let results = [];
61
- for (let addresses of chunkOfAddresses) {
62
- const allPromises = [];
63
- for (let address of addresses) {
64
- let promise = yield this.getUtxo(address);
65
- allPromises.push(promise);
66
- }
67
- let result = yield Promise.all(allPromises);
68
- if (result.flat(1).length === 0) {
69
- break;
70
- }
71
- results.push(result.flat(1));
63
+ let result = await Promise.all(allPromises);
64
+ if (result.flat(1).length === 0) {
65
+ break;
72
66
  }
73
- return results.flat(1);
74
- });
67
+ results.push(result.flat(1));
68
+ }
69
+ return results.flat(1);
75
70
  }
76
- getAddressesExtendedUtxo(signerInfos) {
77
- return __awaiter(this, void 0, void 0, function* () {
78
- const chunkOfAddresses = [];
79
- const chunkLength = 20;
80
- for (let i = 0; i < signerInfos.length; i += chunkLength) {
81
- const tmp = signerInfos.slice(i, i + chunkLength);
82
- chunkOfAddresses.push(tmp);
71
+ async getAddressesExtendedUtxo(signerInfos) {
72
+ const chunkOfAddresses = [];
73
+ const chunkLength = 20;
74
+ for (let i = 0; i < signerInfos.length; i += chunkLength) {
75
+ const tmp = signerInfos.slice(i, i + chunkLength);
76
+ chunkOfAddresses.push(tmp);
77
+ }
78
+ let results = [];
79
+ for (let addresses of chunkOfAddresses) {
80
+ const allPromises = [];
81
+ for (let signerInfo of addresses) {
82
+ let promise = await this.getExtendedUtxo(signerInfo);
83
+ allPromises.push(promise);
83
84
  }
84
- let results = [];
85
- for (let addresses of chunkOfAddresses) {
86
- const allPromises = [];
87
- for (let signerInfo of addresses) {
88
- let promise = yield this.getExtendedUtxo(signerInfo);
89
- allPromises.push(promise);
90
- }
91
- let result = yield Promise.all(allPromises);
92
- if (result.flat(1).length === 0) {
93
- break;
94
- }
95
- results.push(result.flat(1));
85
+ let result = await Promise.all(allPromises);
86
+ if (result.flat(1).length === 0) {
87
+ break;
96
88
  }
97
- return results.flat(1);
98
- });
89
+ results.push(result.flat(1));
90
+ }
91
+ return results.flat(1);
92
+ }
93
+ async getBalance(address) {
94
+ let utxos = await this.utxoProvider.getUtxos(address);
95
+ return utxos.reduce((a, tx) => a + Number(tx.value), 0);
99
96
  }
100
- getBalance(address) {
101
- return __awaiter(this, void 0, void 0, function* () {
102
- let utxos = yield this.utxoProvider.getUtxos(address);
103
- return utxos.reduce((a, tx) => a + Number(tx.value), 0);
104
- });
97
+ async getRawTransaction(txId) {
98
+ if (this.rpcProvider)
99
+ return this.rpcProvider.getRawTransaction(txId);
100
+ if (this.utxoProvider.getRawTransaction)
101
+ return this.utxoProvider.getRawTransaction(txId);
102
+ return this.apiProvider.getRawTransaction(txId);
105
103
  }
106
- getRawTransaction(txId) {
107
- return __awaiter(this, void 0, void 0, function* () {
108
- if (this.rpcProvider)
109
- return this.rpcProvider.getRawTransaction(txId);
110
- if (this.utxoProvider.getRawTransaction)
111
- return this.utxoProvider.getRawTransaction(txId);
112
- return this.apiProvider.getRawTransaction(txId);
113
- });
104
+ async getTransaction(txId) {
105
+ if (this.rpcProvider)
106
+ return this.rpcProvider.getTransaction(txId);
107
+ return this.apiProvider.getTransaction(txId);
114
108
  }
115
- sendRawTransaction(txHex) {
116
- return __awaiter(this, void 0, void 0, function* () {
117
- if (this.rpcProvider)
118
- return this.rpcProvider.sendRawTransaction(txHex);
119
- if (this.utxoProvider.sendRawTransaction)
120
- return this.utxoProvider.sendRawTransaction(txHex);
121
- return this.apiProvider.sendRawTransaction(txHex);
122
- });
109
+ async sendRawTransaction(txHex) {
110
+ if (this.rpcProvider)
111
+ return this.rpcProvider.sendRawTransaction(txHex);
112
+ if (this.utxoProvider.sendRawTransaction)
113
+ return this.utxoProvider.sendRawTransaction(txHex);
114
+ return this.apiProvider.sendRawTransaction(txHex);
123
115
  }
124
116
  }
125
117
  exports.BitcoinInterfaceWallet = BitcoinInterfaceWallet;
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-interface-wallet.js","sourceRoot":"","sources":["../src/bitcoin-interface-wallet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitcoin-interface-wallet.js","sourceRoot":"","sources":["../src/bitcoin-interface-wallet.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-interface.d.ts","sourceRoot":"","sources":["../src/bitcoin-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAOnE,OAAO,sBAAsB,MAAM,4BAA4B,CAAA;AAE/D,qBAAa,gBAAiB,SAAQ,sBAAsB;IACpD,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKvC,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOlD,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOvD,cAAc,CAAC,IAAI,EAAE,MAAM;IAI3B,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAI9B,kBAAkB,CAAC,IAAI,EAAE,MAAM;IAI/B,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QACT,iBAAiB,EAAE,MAAM,CAAA;QACzB,gBAAgB,EAAE,MAAM,CAAA;KACzB,CAAC;IAYI,eAAe,CAAC,WAAW,EAAE;QACjC,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,WAAW,CAAC,EAAE;YACZ,iBAAiB,EAAE,MAAM,CAAA;YACzB,gBAAgB,EAAE,MAAM,CAAA;SACzB,CAAA;KACF;;;;;;;;;;;;;;;;IAuBK,oBAAoB,CACxB,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC3B,EAAO;;;;;;;;;;IAsBJ,6BAA6B,CACjC,SAAS,EAAE,MAAM,EAAE,EACnB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,EACtB,UAAU,GAAE;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC3B,EAAO;CAWX;AAED,eAAe,gBAAgB,CAAA"}
1
+ {"version":3,"file":"bitcoin-interface.d.ts","sourceRoot":"","sources":["../src/bitcoin-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAOnE,OAAO,sBAAsB,MAAM,4BAA4B,CAAA;AAE/D,qBAAa,gBAAiB,SAAQ,sBAAsB;IACpD,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKvC,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOlD,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOvD,cAAc,CAAC,IAAI,EAAE,MAAM;IAI3B,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAI9B,kBAAkB,CAAC,IAAI,EAAE,MAAM;IAI/B,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QACT,iBAAiB,EAAE,MAAM,CAAA;QACzB,gBAAgB,EAAE,MAAM,CAAA;KACzB,CAAC;IAYI,eAAe,CAAC,WAAW,EAAE;QACjC,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,WAAW,CAAC,EAAE;YACZ,iBAAiB,EAAE,MAAM,CAAA;YACzB,gBAAgB,EAAE,MAAM,CAAA;SACzB,CAAA;KACF;;;;;;;;;;+BAvBoB,MAAM;8BACP,MAAM;;;;;IA6CpB,oBAAoB,CACxB,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC3B,EAAO;;;;;;;;;;IAsBJ,6BAA6B,CACjC,SAAS,EAAE,MAAM,EAAE,EACnB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,EACtB,UAAU,GAAE;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC3B,EAAO;CAWX;AAED,eAAe,gBAAgB,CAAA"}
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -17,95 +8,75 @@ const tools_1 = require("./utils/tools");
17
8
  const bitcoin_utils_1 = require("./bitcoin-utils");
18
9
  const bitcoin_interface_wallet_1 = __importDefault(require("./bitcoin-interface-wallet"));
19
10
  class BitcoinInterface extends bitcoin_interface_wallet_1.default {
20
- getLatestBlockNumber() {
21
- return __awaiter(this, void 0, void 0, function* () {
22
- let latestHeight = yield (this.rpcProvider || this.apiProvider).getLatestBlockNumber();
23
- return latestHeight;
24
- });
11
+ async getLatestBlockNumber() {
12
+ let latestHeight = await (this.rpcProvider || this.apiProvider).getLatestBlockNumber();
13
+ return latestHeight;
25
14
  }
26
- getBlockHash(blockNumber) {
27
- return __awaiter(this, void 0, void 0, function* () {
28
- let headerHash = yield (0, tools_1.runWithRetries)(() => (this.rpcProvider || this.apiProvider).getBlockHash(blockNumber));
29
- return headerHash;
30
- });
15
+ async getBlockHash(blockNumber) {
16
+ let headerHash = await (0, tools_1.runWithRetries)(() => (this.rpcProvider || this.apiProvider).getBlockHash(blockNumber));
17
+ return headerHash;
31
18
  }
32
- getBlockHeaderHex(blockNumber) {
33
- return __awaiter(this, void 0, void 0, function* () {
34
- let headerHex = yield (0, tools_1.runWithRetries)(() => (this.rpcProvider || this.apiProvider).getBlockHeaderHex(blockNumber));
35
- return headerHex;
36
- });
19
+ async getBlockHeaderHex(blockNumber) {
20
+ let headerHex = await (0, tools_1.runWithRetries)(() => (this.rpcProvider || this.apiProvider).getBlockHeaderHex(blockNumber));
21
+ return headerHex;
37
22
  }
38
- getTransaction(txId) {
39
- return __awaiter(this, void 0, void 0, function* () {
40
- return (this.rpcProvider || this.apiProvider).getTransaction(txId);
41
- });
23
+ async getTransaction(txId) {
24
+ return (this.rpcProvider || this.apiProvider).getTransaction(txId);
42
25
  }
43
- getRawTransaction(txId) {
44
- return __awaiter(this, void 0, void 0, function* () {
45
- return (this.rpcProvider || this.apiProvider).getRawTransaction(txId);
46
- });
26
+ async getRawTransaction(txId) {
27
+ return (this.rpcProvider || this.apiProvider).getRawTransaction(txId);
47
28
  }
48
- sendRawTransaction(txId) {
49
- return __awaiter(this, void 0, void 0, function* () {
50
- return (this.rpcProvider || this.apiProvider).sendRawTransaction(txId);
51
- });
29
+ async sendRawTransaction(txId) {
30
+ return (this.rpcProvider || this.apiProvider).sendRawTransaction(txId);
52
31
  }
53
- getMerkleProof(txId, blockHash) {
54
- return __awaiter(this, void 0, void 0, function* () {
55
- if (!this.rpcProvider) {
56
- return this.apiProvider.getMerkleProof(txId);
57
- }
58
- let txIds = yield (0, tools_1.runWithRetries)(() => this.rpcProvider.getBlockTransactionIds(blockHash), {
59
- maxTries: 5,
60
- retrySleep: 2000,
61
- });
62
- let proof = (0, bitcoin_utils_1.calculateMerkleProof)(txIds, txId);
63
- return proof;
32
+ async getMerkleProof(txId, blockHash) {
33
+ if (!this.rpcProvider) {
34
+ return this.apiProvider.getMerkleProof(txId);
35
+ }
36
+ let txIds = await (0, tools_1.runWithRetries)(() => this.rpcProvider.getBlockTransactionIds(blockHash), {
37
+ maxTries: 5,
38
+ retrySleep: 2000,
64
39
  });
40
+ let proof = (0, bitcoin_utils_1.calculateMerkleProof)(txIds, txId);
41
+ return proof;
65
42
  }
66
- getRequestProof(transaction) {
67
- return __awaiter(this, void 0, void 0, function* () {
68
- let transactionHex = transaction.hex || (yield this.getRawTransaction(transaction.txId));
69
- let blockHash = transaction.blockHash;
70
- let blockNumber = transaction.blockNumber;
71
- if (!(transaction.blockHash && transaction.blockNumber)) {
72
- let txInfo = yield this.getTransaction(transaction.txId);
73
- blockHash = txInfo.blockHash;
74
- blockNumber = txInfo.blockNumber;
75
- }
76
- let parsedTx = (0, bitcoin_utils_1.parseRawTransaction)(transactionHex);
77
- let merkleProof = transaction.merkleProof || (yield this.getMerkleProof(transaction.txId, blockHash));
78
- return {
79
- parsedTx,
80
- merkleProof,
81
- blockNumber: blockNumber,
82
- blockHash: blockHash,
83
- };
84
- });
43
+ async getRequestProof(transaction) {
44
+ let transactionHex = transaction.hex || (await this.getRawTransaction(transaction.txId));
45
+ let blockHash = transaction.blockHash;
46
+ let blockNumber = transaction.blockNumber;
47
+ if (!(transaction.blockHash && transaction.blockNumber)) {
48
+ let txInfo = await this.getTransaction(transaction.txId);
49
+ blockHash = txInfo.blockHash;
50
+ blockNumber = txInfo.blockNumber;
51
+ }
52
+ let parsedTx = (0, bitcoin_utils_1.parseRawTransaction)(transactionHex);
53
+ let merkleProof = transaction.merkleProof || (await this.getMerkleProof(transaction.txId, blockHash));
54
+ return {
55
+ parsedTx,
56
+ merkleProof,
57
+ blockNumber: blockNumber,
58
+ blockHash: blockHash,
59
+ };
85
60
  }
86
- getBlockTransactions(addresses, blockNumber, inputTxIds = []) {
87
- return __awaiter(this, void 0, void 0, function* () {
88
- if (!this.rpcProvider) {
89
- throw new Error("RPC provider not set");
90
- }
91
- let rawBlockHex = yield (0, tools_1.runWithRetries)(() => this.rpcProvider.getBlockByBlockNumber(blockNumber, 0), {
92
- maxTries: 10,
93
- retrySleep: 2000,
94
- });
95
- return (0, bitcoin_utils_1.extractTransactionsAndBlockInfoFromRawBlock)(rawBlockHex, blockNumber, addresses, inputTxIds, this.network);
61
+ async getBlockTransactions(addresses, blockNumber, inputTxIds = []) {
62
+ if (!this.rpcProvider) {
63
+ throw new Error("RPC provider not set");
64
+ }
65
+ let rawBlockHex = await (0, tools_1.runWithRetries)(() => this.rpcProvider.getBlockByBlockNumber(blockNumber, 0), {
66
+ maxTries: 10,
67
+ retrySleep: 2000,
96
68
  });
69
+ return (0, bitcoin_utils_1.extractTransactionsAndBlockInfoFromRawBlock)(rawBlockHex, blockNumber, addresses, inputTxIds, this.network);
97
70
  }
98
- getMultipleBlocksTransactions(addresses, startBlockNumber, endBlockNumber, inputTxIds = []) {
99
- return __awaiter(this, void 0, void 0, function* () {
100
- let blockTxs = [];
101
- for (let blockNumber = +startBlockNumber + 1; blockNumber <= endBlockNumber; blockNumber += 1) {
102
- console.log(blockNumber);
103
- const response = yield this.getBlockTransactions(addresses, blockNumber, inputTxIds);
104
- blockTxs.push(response.withdrawTxs, response.depositTxs);
105
- }
106
- blockTxs = yield Promise.all(blockTxs);
107
- return blockTxs.flat(1);
108
- });
71
+ async getMultipleBlocksTransactions(addresses, startBlockNumber, endBlockNumber, inputTxIds = []) {
72
+ let blockTxs = [];
73
+ for (let blockNumber = +startBlockNumber + 1; blockNumber <= endBlockNumber; blockNumber += 1) {
74
+ console.log(blockNumber);
75
+ const response = await this.getBlockTransactions(addresses, blockNumber, inputTxIds);
76
+ blockTxs.push(response.withdrawTxs, response.depositTxs);
77
+ }
78
+ blockTxs = await Promise.all(blockTxs);
79
+ return blockTxs.flat(1);
109
80
  }
110
81
  }
111
82
  exports.BitcoinInterface = BitcoinInterface;
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-interface.js","sourceRoot":"","sources":["../src/bitcoin-interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitcoin-interface.js","sourceRoot":"","sources":["../src/bitcoin-interface.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- /// <reference types="node" />
2
1
  import * as bitcoin from "bitcoinjs-lib";
3
2
  import networks from "./utils/networks";
4
3
  import { Transaction } from "./type";
@@ -7,8 +6,8 @@ export declare function generateMnemonic(): string;
7
6
  export declare function getPrivateKeyHexFromMnemonic(mnemonic: string, index?: number, isChange?: boolean): Promise<string>;
8
7
  export declare function reverseBytes(hexInput: string): string;
9
8
  export declare function getPublicKeyHexByXpubAndIndex(xpub: string, index?: number, isChange?: boolean, network?: bitcoin.networks.Network): string;
10
- export declare function getPubKeyFromPrivateKeyWIF(privateKeyWIF: string, network?: bitcoin.networks.Network): Buffer;
11
- export declare function getPubKeyFromPrivateKeyHex(privateKeyHex: string, network?: bitcoin.networks.Network): Buffer;
9
+ export declare function getPubKeyFromPrivateKeyWIF(privateKeyWIF: string, network?: bitcoin.networks.Network): Buffer<ArrayBufferLike>;
10
+ export declare function getPubKeyFromPrivateKeyHex(privateKeyHex: string, network?: bitcoin.networks.Network): Buffer<ArrayBufferLike>;
12
11
  export declare function getPrivateKeyHexFromWIF(privateKeyWIF: string, network?: bitcoin.networks.Network): string;
13
12
  export declare function parseRawTransaction(rawTransaction: string): {
14
13
  version: string;
@@ -30,7 +29,7 @@ export declare function parseBlockHeader(headerHex: string): {
30
29
  difficulty: string;
31
30
  nonce: string;
32
31
  };
33
- export declare function getAddressType(address: string, network?: bitcoin.networks.Network): "p2tr" | "p2wpkh" | "p2sh" | "p2pkh";
32
+ export declare function getAddressType(address: string, network?: bitcoin.networks.Network): "p2tr" | "p2wsh" | "p2wpkh" | "p2sh" | "p2pkh";
34
33
  export declare function createAddressObjectByAddress(address: string, network?: bitcoin.networks.Network): {
35
34
  addressObject: bitcoin.payments.Payment;
36
35
  addressType: "p2tr" | "p2wpkh" | "p2sh" | "p2pkh";
@@ -88,6 +87,10 @@ export declare function createAddressObjectByPublicKey({ addressType, publicKey
88
87
  publicKey: Buffer;
89
88
  }, network?: bitcoin.Network): bitcoin.payments.Payment;
90
89
  export declare function publicKeyConvertor(publicKeyHex: string, compressed?: boolean): string;
90
+ export declare function createMultisigAddressObjectByPublicKeys(addressType: string, multisig: {
91
+ publicKeys: Buffer[];
92
+ numberOfSigners?: number;
93
+ }, network?: bitcoin.networks.Network): bitcoin.payments.Payment;
91
94
  export declare const addressTypeHelper: {
92
95
  addressTypesNumber: {
93
96
  [key: string]: number;
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-utils.d.ts","sourceRoot":"","sources":["../src/bitcoin-utils.ts"],"names":[],"mappings":";AAIA,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AAExC,OAAO,QAAQ,MAAM,kBAAkB,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAmCpC,OAAO,EAAE,QAAQ,EAAE,CAAA;AAEnB,wBAAgB,gBAAgB,WAG/B;AAED,wBAAsB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,SAAI,EAAE,QAAQ,UAAQ,mBAM/F;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,UAE5C;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,KAAK,SAAI,EACT,QAAQ,UAAQ,EAChB,OAAO,2BAAmB,UAO3B;AAED,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,MAAM,EACrB,OAAO,2BAA2B,UAInC;AAED,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,MAAM,EACrB,OAAO,2BAA2B,UAInC;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,2BAA2B,UAGhG;AAED,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM;;;;;;;EAsDzD;AAED,wBAAgB,oBAAoB,CAClC,iBAAiB,EAAE,MAAM,EAAE,EAC3B,IAAI,EAAE,MAAM,EACZ,eAAe,CAAC,EAAE,MAAM;;;EA4BzB;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM;aAoBrC,MAAM;uBACI,MAAM;gBACb,MAAM;eACP,MAAM;gBACL,MAAM;WACX,MAAM;EAEhB;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,2BAA2B,wCAkBjF;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,2BAA2B;;;EAgC/F;AAGD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,2BAA2B,sBAM/F;AAED,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,2BAA2B;;;;;;;;;;;;;;;;;;;;;EA4BnC;AAED,wBAAgB,2CAA2C,CACzD,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,MAAM,EAAO,EACxB,UAAU,GAAE;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,EAAO,EACR,OAAO,2BAA2B;;;;;;;;;EA0GnC;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,2BAA2B,WAiBlF;AAMD,wBAAgB,2BAA2B,CACzC,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAChE,OAAO,GAAE,OAAO,CAAC,OAAkC,4BAsCpD;AAED,wBAAgB,yBAAyB,CACvC,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC5D,OAAO,GAAE,OAAO,CAAC,OAAkC,4BAuCpD;AAED,wBAAgB,8BAA8B,CAC5C,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EACtE,OAAO,GAAE,OAAO,CAAC,OAAkC,GAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAkC1B;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,UAAO,UAKzE;AAED,eAAO,MAAM,iBAAiB,EAAE;IAC9B,kBAAkB,EAAE;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACtB,CAAA;IACD,YAAY,EAAE,MAAM,EAAE,CAAA;CAIvB,CAAA"}
1
+ {"version":3,"file":"bitcoin-utils.d.ts","sourceRoot":"","sources":["../src/bitcoin-utils.ts"],"names":[],"mappings":"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"}