@teleportdao/bitcoin 1.2.2 → 1.3.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 (37) hide show
  1. package/dist/bitcoin-base.d.ts +1 -1
  2. package/dist/bitcoin-base.d.ts.map +1 -1
  3. package/dist/bitcoin-base.js +62 -41
  4. package/dist/bitcoin-base.js.map +1 -1
  5. package/dist/bitcoin-interface.d.ts +4 -4
  6. package/dist/bitcoin-interface.d.ts.map +1 -1
  7. package/dist/bitcoin-interface.js +258 -216
  8. package/dist/bitcoin-interface.js.map +1 -1
  9. package/dist/bitcoin-utils.js +3 -2
  10. package/dist/bitcoin-utils.js.map +1 -1
  11. package/dist/helper/burn-request-helper.js +1 -4
  12. package/dist/helper/burn-request-helper.js.map +1 -1
  13. package/dist/helper/teleport-request-helper.js +6 -4
  14. package/dist/helper/teleport-request-helper.js.map +1 -1
  15. package/dist/sign/sign-transaction.js +22 -11
  16. package/dist/sign/sign-transaction.js.map +1 -1
  17. package/dist/teleport-dao-payments.d.ts +3 -3
  18. package/dist/teleport-dao-payments.d.ts.map +1 -1
  19. package/dist/teleport-dao-payments.js +141 -122
  20. package/dist/teleport-dao-payments.js.map +1 -1
  21. package/dist/transaction-builder/bitcoin-transaction-builder.d.ts +6 -2
  22. package/dist/transaction-builder/bitcoin-transaction-builder.d.ts.map +1 -1
  23. package/dist/transaction-builder/bitcoin-transaction-builder.js +32 -15
  24. package/dist/transaction-builder/bitcoin-transaction-builder.js.map +1 -1
  25. package/dist/transaction-builder/transaction-builder-common.js +70 -50
  26. package/dist/transaction-builder/transaction-builder-common.js.map +1 -1
  27. package/dist/transaction-builder/transaction-builder.js +53 -42
  28. package/dist/transaction-builder/transaction-builder.js.map +1 -1
  29. package/dist/utils/tools.d.ts +2 -1
  30. package/dist/utils/tools.d.ts.map +1 -1
  31. package/dist/utils/tools.js +25 -16
  32. package/dist/utils/tools.js.map +1 -1
  33. package/package.json +6 -6
  34. package/src/bitcoin-base.js +3 -1
  35. package/src/bitcoin-interface.js +2 -3
  36. package/src/helper/teleport-request-helper.js +1 -1
  37. package/src/teleport-dao-payments.js +3 -2
@@ -1,4 +1,13 @@
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
+ };
2
11
  const { getRpcProvider, getApiProvider } = require("@teleportdao/providers").bitcoin;
3
12
  const { runWithRetries, sleep } = require("./utils/tools");
4
13
  const { parseRawTransaction, calculateMerkleProof, parseBlockHeader, extractTransactionsAndBlockInfoFromRawBlock, } = require("./bitcoin-utils");
@@ -7,8 +16,9 @@ const { getBurnTransactionInfo } = require("./helper/burn-request-helper");
7
16
  const BitcoinInterfaceUtils = require("./bitcoin-interface-utils");
8
17
  class BitcoinInterface extends BitcoinInterfaceUtils {
9
18
  constructor(connectionInfo, networkName, config = { minTeleporterFeeAmount: 0 }) {
19
+ var _a;
10
20
  super(networkName);
11
- if (connectionInfo.rpc?.enabled) {
21
+ if ((_a = connectionInfo.rpc) === null || _a === void 0 ? void 0 : _a.enabled) {
12
22
  this.rpcProvider = getRpcProvider(connectionInfo.rpc);
13
23
  }
14
24
  else if (connectionInfo.api.provider !== "BlockStream") {
@@ -21,252 +31,284 @@ class BitcoinInterface extends BitcoinInterfaceUtils {
21
31
  this.minTeleporterFeeAmount = config.minTeleporterFeeAmount;
22
32
  this.provider = this.rpcProvider || this.apiProvider;
23
33
  }
24
- async getLatestBlockNumber() {
25
- let latestHeight = await this.provider.getLatestBlockNumber();
26
- return latestHeight;
34
+ getLatestBlockNumber() {
35
+ return __awaiter(this, void 0, void 0, function* () {
36
+ let latestHeight = yield this.provider.getLatestBlockNumber();
37
+ return latestHeight;
38
+ });
27
39
  }
28
- async getBlockHash(blockNumber) {
29
- let headerHash = await runWithRetries(() => this.provider.getBlockHash(blockNumber));
30
- return headerHash;
40
+ getBlockHash(blockNumber) {
41
+ return __awaiter(this, void 0, void 0, function* () {
42
+ let headerHash = yield runWithRetries(() => this.provider.getBlockHash(blockNumber));
43
+ return headerHash;
44
+ });
31
45
  }
32
- async getBlockHeaderHex(blockNumber) {
33
- let headerHex = await runWithRetries(() => this.provider.getBlockHeaderHex(blockNumber));
34
- return headerHex;
46
+ getBlockHeaderHex(blockNumber) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ let headerHex = yield runWithRetries(() => this.provider.getBlockHeaderHex(blockNumber));
49
+ return headerHex;
50
+ });
35
51
  }
36
- async getTransaction(txId) {
37
- return this.provider.getTransaction(txId);
52
+ getTransaction(txId) {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ return this.provider.getTransaction(txId);
55
+ });
38
56
  }
39
- async getFeeRate(speed = "normal") {
40
- if (!(speed === "normal" || speed === "slow" || speed === "fast")) {
41
- throw new Error("incorrect speed");
42
- }
43
- let fee = await this.provider.getFeeRate(speed);
44
- return fee;
57
+ getFeeRate(speed = "normal") {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ if (!(speed === "normal" || speed === "slow" || speed === "fast")) {
60
+ throw new Error("incorrect speed");
61
+ }
62
+ let fee = yield this.provider.getFeeRate(speed);
63
+ return +fee;
64
+ });
45
65
  }
46
- async getHexBlockHeaders(startBlockNumber, endBlockNumber) {
47
- const blockHeaders = [];
48
- let difficulty = null;
49
- let hexBlockHeaders = "";
50
- let fromBlockNumber = startBlockNumber;
51
- for (let blockNumber = startBlockNumber; blockNumber <= endBlockNumber; blockNumber += 1) {
52
- let blockHeader = await this.getBlockHeaderHex(blockNumber);
53
- console.log("block", blockNumber);
54
- let parsedBlockHeader = parseBlockHeader(blockHeader);
55
- if (difficulty && parsedBlockHeader.difficulty !== difficulty) {
66
+ getHexBlockHeaders(startBlockNumber, endBlockNumber) {
67
+ return __awaiter(this, void 0, void 0, function* () {
68
+ const blockHeaders = [];
69
+ let difficulty = null;
70
+ let hexBlockHeaders = "";
71
+ let fromBlockNumber = startBlockNumber;
72
+ for (let blockNumber = startBlockNumber; blockNumber <= endBlockNumber; blockNumber += 1) {
73
+ let blockHeader = yield this.getBlockHeaderHex(blockNumber);
74
+ console.log("block", blockNumber);
75
+ let parsedBlockHeader = parseBlockHeader(blockHeader);
76
+ if (difficulty && parsedBlockHeader.difficulty !== difficulty) {
77
+ blockHeaders.push({
78
+ hexBlockHeaders,
79
+ fromBlockNumber,
80
+ toBlockNumber: blockNumber - 1,
81
+ difficulty,
82
+ });
83
+ hexBlockHeaders = blockHeader;
84
+ fromBlockNumber = blockNumber;
85
+ }
86
+ else {
87
+ hexBlockHeaders += blockHeader;
88
+ }
89
+ difficulty = parsedBlockHeader.difficulty;
90
+ }
91
+ if (hexBlockHeaders) {
56
92
  blockHeaders.push({
57
93
  hexBlockHeaders,
58
94
  fromBlockNumber,
59
- toBlockNumber: blockNumber - 1,
95
+ toBlockNumber: endBlockNumber,
60
96
  difficulty,
61
97
  });
62
- hexBlockHeaders = blockHeader;
63
- fromBlockNumber = blockNumber;
64
- }
65
- else {
66
- hexBlockHeaders += blockHeader;
67
98
  }
68
- difficulty = parsedBlockHeader.difficulty;
69
- }
70
- if (hexBlockHeaders) {
71
- blockHeaders.push({
72
- hexBlockHeaders,
73
- fromBlockNumber,
74
- toBlockNumber: endBlockNumber,
75
- difficulty,
76
- });
77
- }
78
- return blockHeaders;
99
+ return blockHeaders;
100
+ });
79
101
  }
80
- async getRequestProof(transaction) {
81
- let transactionHex = transaction.hex || (await this.provider.getRawTransaction(transaction.txId));
82
- let txInfo;
83
- if (!(transaction.blockHash && transaction.blockNumber)) {
84
- txInfo = await this.provider.getTransaction(transaction.txId);
85
- }
86
- let blockHash = transaction.blockHash || txInfo.blockHash;
87
- let blockNumber = transaction.blockNumber || txInfo.blockNumber;
88
- let parsedTx = parseRawTransaction(transactionHex);
89
- let merkleProof = transaction.merkleProof || (await this.getMerkleProof(transaction.txId, blockHash));
90
- return {
91
- parsedTx,
92
- merkleProof,
93
- blockNumber,
94
- blockHash,
95
- };
102
+ getRequestProof(transaction) {
103
+ return __awaiter(this, void 0, void 0, function* () {
104
+ let transactionHex = transaction.hex || (yield this.provider.getRawTransaction(transaction.txId));
105
+ let txInfo;
106
+ if (!(transaction.blockHash && transaction.blockNumber)) {
107
+ txInfo = yield this.provider.getTransaction(transaction.txId);
108
+ }
109
+ let blockHash = transaction.blockHash || txInfo.blockHash;
110
+ let blockNumber = transaction.blockNumber || txInfo.blockNumber;
111
+ let parsedTx = parseRawTransaction(transactionHex);
112
+ let merkleProof = transaction.merkleProof || (yield this.getMerkleProof(transaction.txId, blockHash));
113
+ return {
114
+ parsedTx,
115
+ merkleProof,
116
+ blockNumber,
117
+ blockHash,
118
+ };
119
+ });
96
120
  }
97
- async getMerkleProof(txId, blockHash) {
98
- let txIds = await this.provider.getBlockTransactionIds(blockHash);
99
- let proof = calculateMerkleProof(txIds, txId);
100
- return proof;
121
+ getMerkleProof(txId, blockHash) {
122
+ return __awaiter(this, void 0, void 0, function* () {
123
+ let txIds = yield this.provider.getBlockTransactionIds(blockHash);
124
+ let proof = calculateMerkleProof(txIds, txId);
125
+ return proof;
126
+ });
101
127
  }
102
- async getAddressesUtxo(allAddresses) {
103
- if (!this.apiProvider) {
104
- throw new Error("this function need an api provider");
105
- }
106
- const chunkOfAddresses = [];
107
- const chunkLength = 20;
108
- for (let i = 0; i < allAddresses.length; i += chunkLength) {
109
- const tmp = allAddresses.slice(i, i + chunkLength);
110
- chunkOfAddresses.push(tmp);
111
- }
112
- let results = [];
113
- for (let addresses of chunkOfAddresses) {
114
- const allPromises = [];
115
- for (let address of addresses) {
116
- let promise = await this.apiProvider.getUtxos(address);
117
- allPromises.push(promise);
128
+ getAddressesUtxo(allAddresses) {
129
+ return __awaiter(this, void 0, void 0, function* () {
130
+ if (!this.apiProvider) {
131
+ throw new Error("this function need an api provider");
118
132
  }
119
- let result = await Promise.all(allPromises);
120
- if (result.flat(1).length === 0) {
121
- break;
133
+ const chunkOfAddresses = [];
134
+ const chunkLength = 20;
135
+ for (let i = 0; i < allAddresses.length; i += chunkLength) {
136
+ const tmp = allAddresses.slice(i, i + chunkLength);
137
+ chunkOfAddresses.push(tmp);
122
138
  }
123
- results.push(result.flat(1));
124
- }
125
- return results.flat(1);
139
+ let results = [];
140
+ for (let addresses of chunkOfAddresses) {
141
+ const allPromises = [];
142
+ for (let address of addresses) {
143
+ let promise = yield this.apiProvider.getUtxos(address);
144
+ allPromises.push(promise);
145
+ }
146
+ let result = yield Promise.all(allPromises);
147
+ if (result.flat(1).length === 0) {
148
+ break;
149
+ }
150
+ results.push(result.flat(1));
151
+ }
152
+ return results.flat(1);
153
+ });
126
154
  }
127
- async getAddressesExtendedUtxo(allAddressesInfo) {
128
- if (!this.apiProvider) {
129
- throw new Error("this function need an api provider");
130
- }
131
- const chunkOfAddressesInfo = [];
132
- const chunkLength = 20;
133
- for (let i = 0; i < allAddressesInfo.length; i += chunkLength) {
134
- const tmp = allAddressesInfo.slice(i, i + chunkLength);
135
- chunkOfAddressesInfo.push(tmp);
136
- }
137
- let results = [];
138
- for (let addressesInfo of chunkOfAddressesInfo) {
139
- const allPromises = [];
140
- for (let info of addressesInfo) {
141
- let promise = this.apiProvider.getUtxos(info.address);
142
- allPromises.push(promise);
155
+ getAddressesExtendedUtxo(allAddressesInfo) {
156
+ return __awaiter(this, void 0, void 0, function* () {
157
+ if (!this.apiProvider) {
158
+ throw new Error("this function need an api provider");
143
159
  }
144
- let result = await Promise.all(allPromises);
145
- if (result.flat(1).length === 0) {
146
- break;
160
+ const chunkOfAddressesInfo = [];
161
+ const chunkLength = 20;
162
+ for (let i = 0; i < allAddressesInfo.length; i += chunkLength) {
163
+ const tmp = allAddressesInfo.slice(i, i + chunkLength);
164
+ chunkOfAddressesInfo.push(tmp);
147
165
  }
148
- results.push(result
149
- .map((utxos, i) => utxos.map((tx) => ({
150
- hash: tx.txId,
151
- value: tx.value,
152
- index: tx.index,
153
- ...addressesInfo[i],
154
- })))
155
- .flat(1));
156
- }
157
- return results.flat(1);
158
- }
159
- async getBalance(address) {
160
- if (!this.apiProvider) {
161
- throw new Error("this function need an api provider");
162
- }
163
- let utxos = (await this.apiProvider.getUtxos(address)) ?? [];
164
- return utxos.reduce((a, tx) => a + Number(tx.value), 0);
166
+ let results = [];
167
+ for (let addressesInfo of chunkOfAddressesInfo) {
168
+ const allPromises = [];
169
+ for (let info of addressesInfo) {
170
+ let promise = this.apiProvider.getUtxos(info.address);
171
+ allPromises.push(promise);
172
+ }
173
+ let result = yield Promise.all(allPromises);
174
+ if (result.flat(1).length === 0) {
175
+ break;
176
+ }
177
+ results.push(result
178
+ .map((utxos, i) => utxos.map((tx) => (Object.assign(Object.assign({ hash: tx.txId, value: tx.value, index: tx.index }, addressesInfo[i]), { signerInfo: addressesInfo[i] }))))
179
+ .flat(1));
180
+ }
181
+ return results.flat(1);
182
+ });
165
183
  }
166
- async getBlockTransactions(addresses, blockNumber, inputTxIds = []) {
167
- let rawBlockHex = await this.rpcProvider.getBlockByBlockNumber(blockNumber, 0);
168
- let { withdrawTxs, depositTxs } = extractTransactionsAndBlockInfoFromRawBlock(rawBlockHex, blockNumber, addresses, inputTxIds, this.network);
169
- return depositTxs.concat(withdrawTxs);
184
+ getBalance(address) {
185
+ var _a;
186
+ return __awaiter(this, void 0, void 0, function* () {
187
+ if (!this.apiProvider) {
188
+ throw new Error("this function need an api provider");
189
+ }
190
+ let utxos = (_a = (yield this.apiProvider.getUtxos(address))) !== null && _a !== void 0 ? _a : [];
191
+ return utxos.reduce((a, tx) => a + Number(tx.value), 0);
192
+ });
170
193
  }
171
- async getMultipleBlocksTransactions(addresses, startBlockNumber, endBlockNumber, inputTxIds = []) {
172
- if (endBlockNumber - startBlockNumber > 20) {
173
- throw new Error("cant get more than 20 block per function call");
174
- }
175
- let blockTxs = [];
176
- for (let blockNumber = +startBlockNumber + 1; blockNumber <= endBlockNumber; blockNumber += 1) {
177
- const response = this.getBlockTransactions(addresses, blockNumber, inputTxIds);
178
- blockTxs.push(response);
179
- await sleep(200);
180
- }
181
- blockTxs = await Promise.all(blockTxs);
182
- return blockTxs.flat(1);
194
+ getBlockTransactions(addresses, blockNumber, inputTxIds = []) {
195
+ return __awaiter(this, void 0, void 0, function* () {
196
+ let rawBlockHex = yield this.rpcProvider.getBlockByBlockNumber(blockNumber, 0);
197
+ let { withdrawTxs, depositTxs } = extractTransactionsAndBlockInfoFromRawBlock(rawBlockHex, blockNumber, addresses, inputTxIds, this.network);
198
+ return depositTxs.concat(withdrawTxs);
199
+ });
183
200
  }
184
- async getTransactionHistory(addresses, startBlockNumber, endBlockNumber) {
185
- if (this.rpcProvider) {
186
- let endBlock = endBlockNumber || (await this.getLatestBlockNumber());
187
- let startBlock = Math.max(+startBlockNumber, +endBlock - 20);
188
- return this.getMultipleBlocksTransactions(addresses, startBlock, endBlock);
189
- }
190
- if (this.apiProviderName !== "BlockStream") {
191
- throw new Error("just support BlockStream as api provider for this function");
192
- }
193
- let txs = await this.apiProvider.getTransactionHistoryForMultipleAddresses(addresses, startBlockNumber);
194
- return txs.flat(1);
201
+ getMultipleBlocksTransactions(addresses, startBlockNumber, endBlockNumber, inputTxIds = []) {
202
+ return __awaiter(this, void 0, void 0, function* () {
203
+ if (endBlockNumber - startBlockNumber > 20) {
204
+ throw new Error("cant get more than 20 block per function call");
205
+ }
206
+ let blockTxs = [];
207
+ for (let blockNumber = +startBlockNumber + 1; blockNumber <= endBlockNumber; blockNumber += 1) {
208
+ const response = this.getBlockTransactions(addresses, blockNumber, inputTxIds);
209
+ blockTxs.push(response);
210
+ yield sleep(200);
211
+ }
212
+ blockTxs = yield Promise.all(blockTxs);
213
+ return blockTxs.flat(1);
214
+ });
195
215
  }
196
- async getMempoolTransactionHistory(addresses) {
197
- if (this.apiProviderName !== "BlockStream") {
198
- throw new Error("teleporter just support BlockStream as api provider");
199
- }
200
- let txs = await this.apiProvider.getMempoolTransactionHistoryForMultipleAddresses(addresses);
201
- return txs.flat(1);
216
+ getTransactionHistory(addresses, startBlockNumber, endBlockNumber) {
217
+ return __awaiter(this, void 0, void 0, function* () {
218
+ if (this.rpcProvider) {
219
+ let endBlock = endBlockNumber || (yield this.getLatestBlockNumber());
220
+ let startBlock = Math.max(+startBlockNumber, +endBlock - 20);
221
+ return this.getMultipleBlocksTransactions(addresses, startBlock, endBlock);
222
+ }
223
+ if (this.apiProviderName !== "BlockStream") {
224
+ throw new Error("just support BlockStream as api provider for this function");
225
+ }
226
+ let txs = yield this.apiProvider.getTransactionHistoryForMultipleAddresses(addresses, startBlockNumber);
227
+ return txs.flat(1);
228
+ });
202
229
  }
203
- async getTeleporterRequests(addresses, startblockNumber, endBlockNumber, mempool = false) {
204
- let transactions = mempool
205
- ? await this.getMempoolTransactionHistory(addresses)
206
- : await this.getTransactionHistory(addresses, startblockNumber, endBlockNumber);
207
- let requests = [];
208
- let invalidRequests = [];
209
- for (let transaction of transactions) {
210
- console.log(`received tx to check for teleport: ${transaction.txId}`);
211
- let address = transaction.address;
212
- let { request, lockerAddress, lockerLockingScript } = await this.getTeleportRequestByTx(transaction, address);
213
- if (request.status) {
214
- requests.push({ transaction, request, lockerAddress, lockerLockingScript });
230
+ getMempoolTransactionHistory(addresses) {
231
+ return __awaiter(this, void 0, void 0, function* () {
232
+ if (this.apiProviderName !== "BlockStream") {
233
+ throw new Error("teleporter just support BlockStream as api provider");
215
234
  }
216
- else if (request.code !== "NO_OP_RETURN") {
217
- invalidRequests.push({ transaction, request, lockerAddress, lockerLockingScript });
235
+ let txs = yield this.apiProvider.getMempoolTransactionHistoryForMultipleAddresses(addresses);
236
+ return txs.flat(1);
237
+ });
238
+ }
239
+ getTeleporterRequests(addresses, startblockNumber, endBlockNumber, mempool = false) {
240
+ return __awaiter(this, void 0, void 0, function* () {
241
+ let transactions = mempool
242
+ ? yield this.getMempoolTransactionHistory(addresses)
243
+ : yield this.getTransactionHistory(addresses, startblockNumber, endBlockNumber);
244
+ let requests = [];
245
+ let invalidRequests = [];
246
+ for (let transaction of transactions) {
247
+ let address = transaction.address;
248
+ let { request, lockerAddress, lockerLockingScript } = yield this.getTeleportRequestByTx(transaction, address);
249
+ if (request.status) {
250
+ requests.push({ transaction, request, lockerAddress, lockerLockingScript });
251
+ }
252
+ else if (request.code !== "NO_OP_RETURN") {
253
+ invalidRequests.push({ transaction, request, lockerAddress, lockerLockingScript });
254
+ }
218
255
  }
219
- }
220
- return { requests, invalidRequests };
256
+ return { requests, invalidRequests };
257
+ });
221
258
  }
222
- async getTeleportRequestByTx(transaction, lockerAddress) {
223
- if (!transaction.txId)
224
- throw new Error("txId not exist");
225
- let vout = transaction.vout || (await this.getTransaction(transaction.txId)).vout;
226
- let request = checkAndParseProtocolRequest(vout, lockerAddress, {
227
- minTeleporterFeeAmount: this.minTeleporterFeeAmount,
259
+ getTeleportRequestByTx(transaction, lockerAddress) {
260
+ return __awaiter(this, void 0, void 0, function* () {
261
+ if (!transaction.txId)
262
+ throw new Error("txId not exist");
263
+ let vout = transaction.vout || (yield this.getTransaction(transaction.txId)).vout;
264
+ let request = checkAndParseProtocolRequest(vout, lockerAddress, {
265
+ minTeleporterFeeAmount: this.minTeleporterFeeAmount,
266
+ });
267
+ let lockerLockingScript = transaction.addressScript || this.convertAddressToScript(lockerAddress).script.toString("hex");
268
+ return {
269
+ request,
270
+ lockerAddress,
271
+ lockerLockingScript,
272
+ };
228
273
  });
229
- let lockerLockingScript = transaction.addressScript || this.convertAddressToScript(lockerAddress).script.toString("hex");
230
- return {
231
- request,
232
- lockerAddress,
233
- lockerLockingScript,
234
- };
235
274
  }
236
- async getLockersBurnTransactions(addresses, startBlockNumber, endBlockNumber, mempool = false) {
237
- let transactions = mempool
238
- ? await this.getMempoolTransactionHistory(addresses)
239
- : await this.getTransactionHistory(addresses, startBlockNumber, endBlockNumber);
240
- let validTxs = [];
241
- for (let transaction of transactions) {
242
- let address = transaction.address;
243
- console.log(`received tx to check burn: ${transaction.txId}`);
244
- let txBurnInfo = await this.getTransactionBurnInfoByTx(transaction, address);
245
- if (txBurnInfo) {
246
- const { burnInfo, lockerAddress, lockerLockingScript } = txBurnInfo;
247
- validTxs.push({
248
- transaction,
249
- burnInfo,
250
- lockerAddress,
251
- lockerLockingScript,
252
- });
275
+ getLockersBurnTransactions(addresses, startBlockNumber, endBlockNumber, mempool = false) {
276
+ return __awaiter(this, void 0, void 0, function* () {
277
+ let transactions = mempool
278
+ ? yield this.getMempoolTransactionHistory(addresses)
279
+ : yield this.getTransactionHistory(addresses, startBlockNumber, endBlockNumber);
280
+ let validTxs = [];
281
+ for (let transaction of transactions) {
282
+ let address = transaction.address;
283
+ let txBurnInfo = yield this.getTransactionBurnInfoByTx(transaction, address);
284
+ if (txBurnInfo) {
285
+ const { burnInfo, lockerAddress, lockerLockingScript } = txBurnInfo;
286
+ validTxs.push({
287
+ transaction,
288
+ burnInfo,
289
+ lockerAddress,
290
+ lockerLockingScript,
291
+ });
292
+ }
253
293
  }
254
- }
255
- return validTxs;
294
+ return validTxs;
295
+ });
256
296
  }
257
- async getTransactionBurnInfoByTx(transaction, lockerAddress) {
258
- if (!transaction.txId)
259
- throw new Error("txId not exist");
260
- let vin = transaction.vin || (await this.getTransaction(transaction.txId)).vin;
261
- let burnInfo = getBurnTransactionInfo(lockerAddress, vin, transaction.vout);
262
- if (!burnInfo)
263
- return null;
264
- let lockerLockingScript = transaction.addressScript || this.convertAddressToScript(lockerAddress).script.toString("hex");
265
- return {
266
- burnInfo,
267
- lockerAddress,
268
- lockerLockingScript,
269
- };
297
+ getTransactionBurnInfoByTx(transaction, lockerAddress) {
298
+ return __awaiter(this, void 0, void 0, function* () {
299
+ if (!transaction.txId)
300
+ throw new Error("txId not exist");
301
+ let vin = transaction.vin || (yield this.getTransaction(transaction.txId)).vin;
302
+ let burnInfo = getBurnTransactionInfo(lockerAddress, vin, transaction.vout);
303
+ if (!burnInfo)
304
+ return null;
305
+ let lockerLockingScript = transaction.addressScript || this.convertAddressToScript(lockerAddress).script.toString("hex");
306
+ return {
307
+ burnInfo,
308
+ lockerAddress,
309
+ lockerLockingScript,
310
+ };
311
+ });
270
312
  }
271
313
  }
272
314
  module.exports = BitcoinInterface;
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-interface.js","sourceRoot":"","sources":["../src/bitcoin-interface.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitcoin-interface.js","sourceRoot":"","sources":["../src/bitcoin-interface.js"],"names":[],"mappings":"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"}
@@ -239,8 +239,9 @@ function parseBlockHeader(headerHex) {
239
239
  return result;
240
240
  }
241
241
  function convertBitcoinScriptToAddress(script, network = bitcoin.networks.bitcoin) {
242
+ var _a;
242
243
  try {
243
- return bitcoin.address?.fromOutputScript(script, network);
244
+ return (_a = bitcoin.address) === null || _a === void 0 ? void 0 : _a.fromOutputScript(script, network);
244
245
  }
245
246
  catch (error) {
246
247
  return null;
@@ -295,7 +296,7 @@ function extractTransactionsAndBlockInfoFromRawBlock(rawBlockHex, blockNumber, a
295
296
  let isWithdraw = tx.ins.find((vi) => {
296
297
  let viTxId = Buffer.from(vi.hash).reverse().toString("hex");
297
298
  let viInput = inputTxIds.find((vin) => vin.txId === viTxId && vin.index === vi.index);
298
- inputTxAddress = viInput?.address;
299
+ inputTxAddress = viInput === null || viInput === void 0 ? void 0 : viInput.address;
299
300
  return !!inputTxAddress;
300
301
  });
301
302
  if (isWithdraw && inputTxAddress) {