@teleportdao/bitcoin 1.2.2 → 1.2.4
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.
- package/dist/bitcoin-base.js +59 -40
- package/dist/bitcoin-base.js.map +1 -1
- package/dist/bitcoin-interface.d.ts +3 -3
- package/dist/bitcoin-interface.d.ts.map +1 -1
- package/dist/bitcoin-interface.js +260 -216
- package/dist/bitcoin-interface.js.map +1 -1
- package/dist/bitcoin-utils.js +3 -2
- package/dist/bitcoin-utils.js.map +1 -1
- package/dist/helper/burn-request-helper.js +1 -4
- package/dist/helper/burn-request-helper.js.map +1 -1
- package/dist/helper/teleport-request-helper.js +5 -3
- package/dist/helper/teleport-request-helper.js.map +1 -1
- package/dist/sign/sign-transaction.js +22 -11
- package/dist/sign/sign-transaction.js.map +1 -1
- package/dist/teleport-dao-payments.d.ts +1 -1
- package/dist/teleport-dao-payments.d.ts.map +1 -1
- package/dist/teleport-dao-payments.js +141 -122
- package/dist/teleport-dao-payments.js.map +1 -1
- package/dist/transaction-builder/bitcoin-transaction-builder.d.ts +5 -1
- package/dist/transaction-builder/bitcoin-transaction-builder.d.ts.map +1 -1
- package/dist/transaction-builder/bitcoin-transaction-builder.js +32 -15
- package/dist/transaction-builder/bitcoin-transaction-builder.js.map +1 -1
- package/dist/transaction-builder/transaction-builder-common.js +70 -50
- package/dist/transaction-builder/transaction-builder-common.js.map +1 -1
- package/dist/transaction-builder/transaction-builder.js +53 -42
- package/dist/transaction-builder/transaction-builder.js.map +1 -1
- package/dist/utils/tools.d.ts +2 -1
- package/dist/utils/tools.d.ts.map +1 -1
- package/dist/utils/tools.js +25 -16
- package/dist/utils/tools.js.map +1 -1
- package/package.json +5 -5
|
@@ -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
|
|
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,286 @@ class BitcoinInterface extends BitcoinInterfaceUtils {
|
|
|
21
31
|
this.minTeleporterFeeAmount = config.minTeleporterFeeAmount;
|
|
22
32
|
this.provider = this.rpcProvider || this.apiProvider;
|
|
23
33
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
33
|
-
|
|
34
|
-
|
|
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
|
-
|
|
37
|
-
return this
|
|
52
|
+
getTransaction(txId) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
return this.provider.getTransaction(txId);
|
|
55
|
+
});
|
|
38
56
|
}
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
let
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
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:
|
|
95
|
+
toBlockNumber: endBlockNumber,
|
|
60
96
|
difficulty,
|
|
61
97
|
});
|
|
62
|
-
hexBlockHeaders = blockHeader;
|
|
63
|
-
fromBlockNumber = blockNumber;
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
hexBlockHeaders += blockHeader;
|
|
67
98
|
}
|
|
68
|
-
|
|
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
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
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
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
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
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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
|
-
|
|
120
|
-
|
|
121
|
-
|
|
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
|
|
124
|
-
|
|
125
|
-
|
|
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
|
-
|
|
128
|
-
|
|
129
|
-
|
|
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
|
-
|
|
145
|
-
|
|
146
|
-
|
|
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
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
.
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
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));
|
|
180
|
+
}
|
|
181
|
+
return results.flat(1);
|
|
182
|
+
});
|
|
165
183
|
}
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
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
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
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
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
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
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
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
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
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
|
-
|
|
217
|
-
|
|
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
|
+
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
|
+
}
|
|
218
256
|
}
|
|
219
|
-
|
|
220
|
-
|
|
257
|
+
return { requests, invalidRequests };
|
|
258
|
+
});
|
|
221
259
|
}
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
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
|
+
};
|
|
228
274
|
});
|
|
229
|
-
let lockerLockingScript = transaction.addressScript || this.convertAddressToScript(lockerAddress).script.toString("hex");
|
|
230
|
-
return {
|
|
231
|
-
request,
|
|
232
|
-
lockerAddress,
|
|
233
|
-
lockerLockingScript,
|
|
234
|
-
};
|
|
235
275
|
}
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
let
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
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
|
+
}
|
|
253
295
|
}
|
|
254
|
-
|
|
255
|
-
|
|
296
|
+
return validTxs;
|
|
297
|
+
});
|
|
256
298
|
}
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
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
|
+
});
|
|
270
314
|
}
|
|
271
315
|
}
|
|
272
316
|
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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"}
|
package/dist/bitcoin-utils.js
CHANGED
|
@@ -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
|
|
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
|
|
299
|
+
inputTxAddress = viInput === null || viInput === void 0 ? void 0 : viInput.address;
|
|
299
300
|
return !!inputTxAddress;
|
|
300
301
|
});
|
|
301
302
|
if (isWithdraw && inputTxAddress) {
|