@teleportdao/bitcoin 1.2.0 → 1.2.2

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.
@@ -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
  const bip39 = require("bip39");
12
3
  const bip32 = require("bip32");
13
4
  const hdWalletNetworksPath = require("@teleportdao/configs").hdWalletPath;
@@ -96,62 +87,52 @@ class BitcoinBase {
96
87
  this.bitcoinAddress = addressObj.address;
97
88
  return addressObj.address;
98
89
  }
99
- getExtendedUtxo({ address, addressType, publicKey, derivationPath, masterFingerprint }) {
100
- return __awaiter(this, void 0, void 0, function* () {
101
- return this.transactionBuilder.getExtendedUtxo({
102
- address,
103
- addressType,
104
- publicKey,
105
- derivationPath,
106
- masterFingerprint,
107
- });
90
+ async getExtendedUtxo({ address, addressType, publicKey, derivationPath, masterFingerprint }) {
91
+ return this.transactionBuilder.getExtendedUtxo({
92
+ address,
93
+ addressType,
94
+ publicKey,
95
+ derivationPath,
96
+ masterFingerprint,
108
97
  });
109
98
  }
110
- send({ receiverAddress, amount, fullAmount = false, speed = "normal" }) {
111
- return __awaiter(this, void 0, void 0, function* () {
112
- let extendedUtxo = yield this.getExtendedUtxo({
113
- address: this.currentAccount,
114
- addressType: this.currentAccountType,
115
- publicKey: this.publicKey.toString("hex"),
116
- });
117
- let feeRate = yield this.transactionBuilder._getFeeRate(speed);
118
- let unsignedTx = yield this.transactionBuilder.processUnsignedTransaction({
119
- extendedUtxo,
120
- targets: [
121
- {
122
- address: receiverAddress,
123
- value: amount,
124
- },
125
- ],
126
- changeAddress: this.currentAccount,
127
- feeRate,
128
- fullAmount,
129
- });
130
- let signedPsbt = yield this.signer.signPsbt(unsignedTx, this.privateKey);
131
- let signedTx = this.signer.finalizePsbts([signedPsbt]);
132
- let txId = yield this.transactionBuilder.sendTx(signedTx);
133
- return txId;
99
+ async send({ receiverAddress, amount, fullAmount = false, speed = "normal" }) {
100
+ let extendedUtxo = await this.getExtendedUtxo({
101
+ address: this.currentAccount,
102
+ addressType: this.currentAccountType,
103
+ publicKey: this.publicKey.toString("hex"),
134
104
  });
135
- }
136
- sendSignedPsbt(signedPsbt) {
137
- return __awaiter(this, void 0, void 0, function* () {
138
- let signedTx = this.signer.finalizePsbts([signedPsbt]);
139
- let txId = yield this.transactionBuilder.sendTx(signedTx);
140
- return txId;
105
+ let feeRate = await this.transactionBuilder._getFeeRate(speed);
106
+ let unsignedTx = await this.transactionBuilder.processUnsignedTransaction({
107
+ extendedUtxo,
108
+ targets: [
109
+ {
110
+ address: receiverAddress,
111
+ value: amount,
112
+ },
113
+ ],
114
+ changeAddress: this.currentAccount,
115
+ feeRate,
116
+ fullAmount,
141
117
  });
118
+ let signedPsbt = await this.signer.signPsbt(unsignedTx, this.privateKey);
119
+ let signedTx = this.signer.finalizePsbts([signedPsbt]);
120
+ let txId = await this.transactionBuilder.sendTx(signedTx);
121
+ return txId;
142
122
  }
143
- sendSignedTx(signedTx) {
144
- return __awaiter(this, void 0, void 0, function* () {
145
- let txId = yield this.transactionBuilder.sendTx(signedTx);
146
- return txId;
147
- });
123
+ async sendSignedPsbt(signedPsbt) {
124
+ let signedTx = this.signer.finalizePsbts([signedPsbt]);
125
+ let txId = await this.transactionBuilder.sendTx(signedTx);
126
+ return txId;
148
127
  }
149
- sendMultiSignedPsbt(signedPsbts = []) {
150
- return __awaiter(this, void 0, void 0, function* () {
151
- let signedTx = this.signer.finalizePsbts(signedPsbts);
152
- let txId = yield this.transactionBuilder.sendTx(signedTx);
153
- return txId;
154
- });
128
+ async sendSignedTx(signedTx) {
129
+ let txId = await this.transactionBuilder.sendTx(signedTx);
130
+ return txId;
131
+ }
132
+ async sendMultiSignedPsbt(signedPsbts = []) {
133
+ let signedTx = this.signer.finalizePsbts(signedPsbts);
134
+ let txId = await this.transactionBuilder.sendTx(signedTx);
135
+ return txId;
155
136
  }
156
137
  }
157
138
  module.exports = BitcoinBase;
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-base.js","sourceRoot":"","sources":["../src/bitcoin-base.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitcoin-base.js","sourceRoot":"","sources":["../src/bitcoin-base.js"],"names":[],"mappings":"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"}