@teleportdao/bitcoin 1.2.1 → 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 { getRpcProvider, getApiProvider } = require("@teleportdao/providers").bitcoin;
12
3
  const { runWithRetries, sleep } = require("./utils/tools");
13
4
  const { parseRawTransaction, calculateMerkleProof, parseBlockHeader, extractTransactionsAndBlockInfoFromRawBlock, } = require("./bitcoin-utils");
@@ -16,9 +7,8 @@ const { getBurnTransactionInfo } = require("./helper/burn-request-helper");
16
7
  const BitcoinInterfaceUtils = require("./bitcoin-interface-utils");
17
8
  class BitcoinInterface extends BitcoinInterfaceUtils {
18
9
  constructor(connectionInfo, networkName, config = { minTeleporterFeeAmount: 0 }) {
19
- var _a;
20
10
  super(networkName);
21
- if ((_a = connectionInfo.rpc) === null || _a === void 0 ? void 0 : _a.enabled) {
11
+ if (connectionInfo.rpc?.enabled) {
22
12
  this.rpcProvider = getRpcProvider(connectionInfo.rpc);
23
13
  }
24
14
  else if (connectionInfo.api.provider !== "BlockStream") {
@@ -31,286 +21,252 @@ class BitcoinInterface extends BitcoinInterfaceUtils {
31
21
  this.minTeleporterFeeAmount = config.minTeleporterFeeAmount;
32
22
  this.provider = this.rpcProvider || this.apiProvider;
33
23
  }
34
- getLatestBlockNumber() {
35
- return __awaiter(this, void 0, void 0, function* () {
36
- let latestHeight = yield this.provider.getLatestBlockNumber();
37
- return latestHeight;
38
- });
24
+ async getLatestBlockNumber() {
25
+ let latestHeight = await this.provider.getLatestBlockNumber();
26
+ return latestHeight;
39
27
  }
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
- });
28
+ async getBlockHash(blockNumber) {
29
+ let headerHash = await runWithRetries(() => this.provider.getBlockHash(blockNumber));
30
+ return headerHash;
45
31
  }
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
- });
32
+ async getBlockHeaderHex(blockNumber) {
33
+ let headerHex = await runWithRetries(() => this.provider.getBlockHeaderHex(blockNumber));
34
+ return headerHex;
51
35
  }
52
- getTransaction(txId) {
53
- return __awaiter(this, void 0, void 0, function* () {
54
- return this.provider.getTransaction(txId);
55
- });
36
+ async getTransaction(txId) {
37
+ return this.provider.getTransaction(txId);
56
38
  }
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
- });
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;
65
45
  }
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) {
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) {
92
56
  blockHeaders.push({
93
57
  hexBlockHeaders,
94
58
  fromBlockNumber,
95
- toBlockNumber: endBlockNumber,
59
+ toBlockNumber: blockNumber - 1,
96
60
  difficulty,
97
61
  });
62
+ hexBlockHeaders = blockHeader;
63
+ fromBlockNumber = blockNumber;
98
64
  }
99
- return blockHeaders;
100
- });
101
- }
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);
65
+ else {
66
+ hexBlockHeaders += blockHeader;
108
67
  }
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
- });
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;
120
79
  }
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
- });
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
+ };
127
96
  }
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");
132
- }
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);
97
+ async getMerkleProof(txId, blockHash) {
98
+ let txIds = await this.provider.getBlockTransactionIds(blockHash);
99
+ let proof = calculateMerkleProof(txIds, txId);
100
+ return proof;
101
+ }
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);
138
118
  }
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));
119
+ let result = await Promise.all(allPromises);
120
+ if (result.flat(1).length === 0) {
121
+ break;
151
122
  }
152
- return results.flat(1);
153
- });
123
+ results.push(result.flat(1));
124
+ }
125
+ return results.flat(1);
154
126
  }
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");
159
- }
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);
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);
165
143
  }
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({ hash: tx.txId, value: tx.value, index: tx.index }, addressesInfo[i]))))
179
- .flat(1));
144
+ let result = await Promise.all(allPromises);
145
+ if (result.flat(1).length === 0) {
146
+ break;
180
147
  }
181
- return results.flat(1);
182
- });
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);
183
158
  }
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
- });
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);
193
165
  }
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
- });
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);
200
170
  }
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
- });
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);
215
183
  }
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
- });
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);
229
195
  }
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");
234
- }
235
- let txs = yield this.apiProvider.getMempoolTransactionHistoryForMultipleAddresses(addresses);
236
- return txs.flat(1);
237
- });
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);
238
202
  }
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
- console.log(`received tx to check for teleport: ${transaction.txId}`);
248
- let address = transaction.address;
249
- let { request, lockerAddress, lockerLockingScript } = yield this.getTeleportRequestByTx(transaction, address);
250
- if (request.status) {
251
- requests.push({ transaction, request, lockerAddress, lockerLockingScript });
252
- }
253
- else if (request.code !== "NO_OP_RETURN") {
254
- invalidRequests.push({ transaction, request, lockerAddress, lockerLockingScript });
255
- }
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 });
256
215
  }
257
- return { requests, invalidRequests };
258
- });
216
+ else if (request.code !== "NO_OP_RETURN") {
217
+ invalidRequests.push({ transaction, request, lockerAddress, lockerLockingScript });
218
+ }
219
+ }
220
+ return { requests, invalidRequests };
259
221
  }
260
- getTeleportRequestByTx(transaction, lockerAddress) {
261
- return __awaiter(this, void 0, void 0, function* () {
262
- if (!transaction.txId)
263
- throw new Error("txId not exist");
264
- let vout = transaction.vout || (yield this.getTransaction(transaction.txId)).vout;
265
- let request = checkAndParseProtocolRequest(vout, lockerAddress, {
266
- minTeleporterFeeAmount: this.minTeleporterFeeAmount,
267
- });
268
- let lockerLockingScript = transaction.addressScript || this.convertAddressToScript(lockerAddress).script.toString("hex");
269
- return {
270
- request,
271
- lockerAddress,
272
- lockerLockingScript,
273
- };
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,
274
228
  });
229
+ let lockerLockingScript = transaction.addressScript || this.convertAddressToScript(lockerAddress).script.toString("hex");
230
+ return {
231
+ request,
232
+ lockerAddress,
233
+ lockerLockingScript,
234
+ };
275
235
  }
276
- getLockersBurnTransactions(addresses, startBlockNumber, endBlockNumber, mempool = false) {
277
- return __awaiter(this, void 0, void 0, function* () {
278
- let transactions = mempool
279
- ? yield this.getMempoolTransactionHistory(addresses)
280
- : yield this.getTransactionHistory(addresses, startBlockNumber, endBlockNumber);
281
- let validTxs = [];
282
- for (let transaction of transactions) {
283
- let address = transaction.address;
284
- console.log(`received tx to check burn: ${transaction.txId}`);
285
- let txBurnInfo = yield this.getTransactionBurnInfoByTx(transaction, address);
286
- if (txBurnInfo) {
287
- const { burnInfo, lockerAddress, lockerLockingScript } = txBurnInfo;
288
- validTxs.push({
289
- transaction,
290
- burnInfo,
291
- lockerAddress,
292
- lockerLockingScript,
293
- });
294
- }
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
+ });
295
253
  }
296
- return validTxs;
297
- });
254
+ }
255
+ return validTxs;
298
256
  }
299
- getTransactionBurnInfoByTx(transaction, lockerAddress) {
300
- return __awaiter(this, void 0, void 0, function* () {
301
- if (!transaction.txId)
302
- throw new Error("txId not exist");
303
- let vin = transaction.vin || (yield this.getTransaction(transaction.txId)).vin;
304
- let burnInfo = getBurnTransactionInfo(lockerAddress, vin, transaction.vout);
305
- if (!burnInfo)
306
- return null;
307
- let lockerLockingScript = transaction.addressScript || this.convertAddressToScript(lockerAddress).script.toString("hex");
308
- return {
309
- burnInfo,
310
- lockerAddress,
311
- lockerLockingScript,
312
- };
313
- });
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
+ };
314
270
  }
315
271
  }
316
272
  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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"}
@@ -13,24 +13,24 @@ export function calculateMerkleProof(blockTransactions: any, txId: any, blockMer
13
13
  export function createAddressObjectByHash({ addressType, hash }: {
14
14
  addressType: any;
15
15
  hash: any;
16
- }, network: any): bitcoin.payments.Payment;
16
+ }, network?: bitcoin.networks.Network): bitcoin.payments.Payment;
17
17
  export function createAddressObjectByPublicKey({ addressType, publicKey }: {
18
18
  addressType: any;
19
19
  publicKey: any;
20
- }, network: any): bitcoin.payments.Payment;
21
- export function createAddressObjectByAddress(address: any, network: any): {
20
+ }, network?: bitcoin.networks.Network): bitcoin.payments.Payment;
21
+ export function createAddressObjectByAddress(address: any, network?: bitcoin.networks.Network): {
22
22
  addressObject: bitcoin.payments.Payment;
23
23
  addressType: "p2wpkh" | "p2sh" | "p2pkh";
24
24
  };
25
25
  export function createAddressObjectByScript({ addressType, script }: {
26
26
  addressType: any;
27
27
  script: any;
28
- }, network: any): bitcoin.payments.Payment;
29
- export function getAddressType(address: any, network: any): "p2wpkh" | "p2sh" | "p2pkh";
30
- export function getPubKeyFromPrivateKeyWIF(privateKeyWIF: any, network: any): Buffer;
31
- export function getPubKeyFromPrivateKeyHex(privateKeyHex: any, network: any): Buffer;
28
+ }, network?: bitcoin.networks.Network): bitcoin.payments.Payment;
29
+ export function getAddressType(address: any, network?: bitcoin.networks.Network): "p2wpkh" | "p2sh" | "p2pkh";
30
+ export function getPubKeyFromPrivateKeyWIF(privateKeyWIF: any, network?: bitcoin.networks.Network): Buffer;
31
+ export function getPubKeyFromPrivateKeyHex(privateKeyHex: any, network?: bitcoin.networks.Network): Buffer;
32
32
  export function getPublicKeyHexByXpubAndIndex(xpub: any, index?: number, isChange?: boolean, network?: bitcoin.networks.Network): string;
33
- export function getPrivateKeyHexFromWIF(privateKeyWIF: any, network: any): string;
33
+ export function getPrivateKeyHexFromWIF(privateKeyWIF: any, network?: bitcoin.networks.Network): string;
34
34
  export function reverseBytes(hexInput: any): string;
35
35
  export function parseBlockHeader(headerHex: any): {};
36
36
  export function generateMnemonic(): string;
@@ -66,6 +66,7 @@ export function extractTransactionsAndBlockInfoFromRawBlock(rawBlockHex: any, bl
66
66
  withdrawTxs: any[];
67
67
  depositTxs: any[];
68
68
  };
69
+ export function validateAddress(address: any, network?: bitcoin.networks.Network): boolean;
69
70
  import networks = require("./utils/networks");
70
71
  import bitcoin = require("bitcoinjs-lib");
71
72
  export { networks };
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-utils.d.ts","sourceRoot":"","sources":["../src/bitcoin-utils.js"],"names":[],"mappings":"AAcA;;;;;;;EAsDC;AAkKD;;;EA2BC;AAvKD;;;2CAyBC;AA6BD;;;2CA4BC;AAED;;;EA0BC;AAnFD;;;2CAyBC;AApED,wFAcC;AA+HD,qFAGC;AAED,qFAGC;AArBD,yIAWC;AAYD,kFAGC;AA9JD,oDAEC;AA2LD,qDAgBC;AA1QD,2CAGC;AAiRD;;;;;;;;;;;;;;;;;;;;;EA2BC;AAED;;;;;;;;;EAsHC"}
1
+ {"version":3,"file":"bitcoin-utils.d.ts","sourceRoot":"","sources":["../src/bitcoin-utils.js"],"names":[],"mappings":"AAcA;;;;;;;EAsDC;AAqKD;;;EA2BC;AA1KD;;;iEAyBC;AA6BD;;;iEA+BC;AAED;;;EA0BC;AAtFD;;;iEAyBC;AApED,8GAcC;AAkID,2GAGC;AAED,2GAGC;AArBD,yIAWC;AAYD,wGAGC;AAjKD,oDAEC;AA8LD,qDAgBC;AA7QD,2CAGC;AAoRD;;;;;;;;;;;;;;;;;;;;;EA2BC;AAED;;;;;;;;;EAsHC;AAED,2FAiBC"}