@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.
- package/dist/bitcoin-base.js +40 -59
- package/dist/bitcoin-base.js.map +1 -1
- package/dist/bitcoin-interface.js +216 -260
- package/dist/bitcoin-interface.js.map +1 -1
- package/dist/bitcoin-utils.d.ts +9 -8
- package/dist/bitcoin-utils.d.ts.map +1 -1
- package/dist/bitcoin-utils.js +32 -12
- package/dist/bitcoin-utils.js.map +1 -1
- package/dist/helper/burn-request-helper.js +4 -1
- package/dist/helper/burn-request-helper.js.map +1 -1
- package/dist/helper/teleport-request-helper.js +3 -5
- package/dist/helper/teleport-request-helper.js.map +1 -1
- package/dist/sign/sign-transaction.js +11 -22
- package/dist/sign/sign-transaction.js.map +1 -1
- package/dist/teleport-dao-payments.js +122 -141
- package/dist/teleport-dao-payments.js.map +1 -1
- package/dist/transaction-builder/bitcoin-transaction-builder.js +15 -32
- package/dist/transaction-builder/bitcoin-transaction-builder.js.map +1 -1
- package/dist/transaction-builder/transaction-builder-common.js +50 -70
- package/dist/transaction-builder/transaction-builder-common.js.map +1 -1
- package/dist/transaction-builder/transaction-builder.js +42 -53
- package/dist/transaction-builder/transaction-builder.js.map +1 -1
- package/dist/utils/tools.js +16 -25
- package/dist/utils/tools.js.map +1 -1
- package/package.json +3 -3
- package/src/bitcoin-utils.js +33 -10
|
@@ -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 (
|
|
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
|
-
|
|
36
|
-
|
|
37
|
-
return latestHeight;
|
|
38
|
-
});
|
|
24
|
+
async getLatestBlockNumber() {
|
|
25
|
+
let latestHeight = await this.provider.getLatestBlockNumber();
|
|
26
|
+
return latestHeight;
|
|
39
27
|
}
|
|
40
|
-
getBlockHash(blockNumber) {
|
|
41
|
-
|
|
42
|
-
|
|
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
|
-
|
|
48
|
-
|
|
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
|
|
54
|
-
return this.provider.getTransaction(txId);
|
|
55
|
-
});
|
|
36
|
+
async getTransaction(txId) {
|
|
37
|
+
return this.provider.getTransaction(txId);
|
|
56
38
|
}
|
|
57
|
-
getFeeRate(speed = "normal") {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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:
|
|
59
|
+
toBlockNumber: blockNumber - 1,
|
|
96
60
|
difficulty,
|
|
97
61
|
});
|
|
62
|
+
hexBlockHeaders = blockHeader;
|
|
63
|
+
fromBlockNumber = blockNumber;
|
|
98
64
|
}
|
|
99
|
-
|
|
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
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
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
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
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
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
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
|
|
140
|
-
|
|
141
|
-
|
|
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
|
-
|
|
153
|
-
}
|
|
123
|
+
results.push(result.flat(1));
|
|
124
|
+
}
|
|
125
|
+
return results.flat(1);
|
|
154
126
|
}
|
|
155
|
-
getAddressesExtendedUtxo(allAddressesInfo) {
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
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
|
|
167
|
-
|
|
168
|
-
|
|
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
|
-
|
|
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
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
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
|
-
|
|
196
|
-
|
|
197
|
-
|
|
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
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
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
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
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
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
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
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
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
|
-
|
|
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
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
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
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
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
|
-
|
|
297
|
-
|
|
254
|
+
}
|
|
255
|
+
return validTxs;
|
|
298
256
|
}
|
|
299
|
-
getTransactionBurnInfoByTx(transaction, lockerAddress) {
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
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":";AAAA,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC,OAAO,CAAA;AACpF,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAA;AAC1D,MAAM,EACJ,mBAAmB,EACnB,oBAAoB,EACpB,gBAAgB,EAChB,2CAA2C,GAC5C,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;AAC9B,MAAM,EAAE,4BAA4B,EAAE,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAA;AACpF,MAAM,EAAE,sBAAsB,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC,CAAA;AAC1E,MAAM,qBAAqB,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAAA;AAElE,MAAM,gBAAiB,SAAQ,qBAAqB;IAClD,YAAY,cAAc,EAAE,WAAW,EAAE,MAAM,GAAG,EAAE,sBAAsB,EAAE,CAAC,EAAE;QAC7E,KAAK,CAAC,WAAW,CAAC,CAAA;QAClB,IAAI,cAAc,CAAC,GAAG,EAAE,OAAO,EAAE;YAC/B,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA;SACtD;aAAM,IAAI,cAAc,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE;YACxD,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAA;SACnF;QAED,IAAI,cAAc,CAAC,GAAG,CAAC,OAAO,EAAE;YAC9B,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAA;YAClD,IAAI,CAAC,WAAW,GAAG,cAAc,CAAC,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;SACnE;QAED,IAAI,CAAC,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAA;QAC3D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAA;IACtD,CAAC;IAKD,KAAK,CAAC,oBAAoB;QACxB,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAA;QAC7D,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,WAAW;QAC5B,IAAI,UAAU,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAA;QACpF,OAAO,UAAU,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,WAAW;QACjC,IAAI,SAAS,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAA;QACxF,OAAO,SAAS,CAAA;IAClB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAI;QACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IAC3C,CAAC;IAGD,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,QAAQ;QAC/B,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,CAAC,EAAE;YACjE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;SACnC;QACD,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QAC/C,OAAO,GAAG,CAAA;IACZ,CAAC;IAKD,KAAK,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,cAAc;QACvD,MAAM,YAAY,GAAG,EAAE,CAAA;QACvB,IAAI,UAAU,GAAG,IAAI,CAAA;QACrB,IAAI,eAAe,GAAG,EAAE,CAAA;QAExB,IAAI,eAAe,GAAG,gBAAgB,CAAA;QACtC,KAAK,IAAI,WAAW,GAAG,gBAAgB,EAAE,WAAW,IAAI,cAAc,EAAE,WAAW,IAAI,CAAC,EAAE;YACxF,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;YAC3D,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;YACjC,IAAI,iBAAiB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAA;YACrD,IAAI,UAAU,IAAI,iBAAiB,CAAC,UAAU,KAAK,UAAU,EAAE;gBAC7D,YAAY,CAAC,IAAI,CAAC;oBAChB,eAAe;oBACf,eAAe;oBACf,aAAa,EAAE,WAAW,GAAG,CAAC;oBAC9B,UAAU;iBACX,CAAC,CAAA;gBACF,eAAe,GAAG,WAAW,CAAA;gBAC7B,eAAe,GAAG,WAAW,CAAA;aAC9B;iBAAM;gBACL,eAAe,IAAI,WAAW,CAAA;aAC/B;YACD,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAA;SAC1C;QACD,IAAI,eAAe,EAAE;YACnB,YAAY,CAAC,IAAI,CAAC;gBAChB,eAAe;gBACf,eAAe;gBACf,aAAa,EAAE,cAAc;gBAC7B,UAAU;aACX,CAAC,CAAA;SACH;QAED,OAAO,YAAY,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,WAAW;QAC/B,IAAI,cAAc,GAChB,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;QAE9E,IAAI,MAAM,CAAA;QACV,IAAI,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE;YACvD,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;SAC9D;QACD,IAAI,SAAS,GAAG,WAAW,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAA;QACzD,IAAI,WAAW,GAAG,WAAW,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAA;QAC/D,IAAI,QAAQ,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAA;QAClD,IAAI,WAAW,GACb,WAAW,CAAC,WAAW,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAA;QAErF,OAAO;YACL,QAAQ;YACR,WAAW;YACX,WAAW;YACX,SAAS;SACV,CAAA;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,SAAS;QAClC,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAA;QAEjE,IAAI,KAAK,GAAG,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;QAE7C,OAAO,KAAK,CAAA;IACd,CAAC;IAKD,KAAK,CAAC,gBAAgB,CAAC,YAAY;QACjC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;SACtD;QACD,MAAM,gBAAgB,GAAG,EAAE,CAAA;QAC3B,MAAM,WAAW,GAAG,EAAE,CAAA;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,WAAW,EAAE;YACzD,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAA;YAClD,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SAC3B;QAED,IAAI,OAAO,GAAG,EAAE,CAAA;QAEhB,KAAK,IAAI,SAAS,IAAI,gBAAgB,EAAE;YACtC,MAAM,WAAW,GAAG,EAAE,CAAA;YACtB,KAAK,IAAI,OAAO,IAAI,SAAS,EAAE;gBAC7B,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;gBACtD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;aAC1B;YACD,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,MAAK;aACN;YACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;SAC7B;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,gBAAgB;QAC7C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;SACtD;QACD,MAAM,oBAAoB,GAAG,EAAE,CAAA;QAC/B,MAAM,WAAW,GAAG,EAAE,CAAA;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,IAAI,WAAW,EAAE;YAC7D,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAA;YACtD,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;SAC/B;QAED,IAAI,OAAO,GAAG,EAAE,CAAA;QAEhB,KAAK,IAAI,aAAa,IAAI,oBAAoB,EAAE;YAC9C,MAAM,WAAW,GAAG,EAAE,CAAA;YACtB,KAAK,IAAI,IAAI,IAAI,aAAa,EAAE;gBAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACrD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;aAC1B;YACD,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;YAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;gBAC/B,MAAK;aACN;YACD,OAAO,CAAC,IAAI,CACV,MAAM;iBACH,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAChB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACjB,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,KAAK,EAAE,EAAE,CAAC,KAAK;gBACf,GAAG,aAAa,CAAC,CAAC,CAAC;aACpB,CAAC,CAAC,CACJ;iBACA,IAAI,CAAC,CAAC,CAAC,CACX,CAAA;SACF;QACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACxB,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAO;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;SACtD;QACD,IAAI,KAAK,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAA;QAC5D,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;IACzD,CAAC;IAID,KAAK,CAAC,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,GAAG,EAAE;QAChE,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QAC9E,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,2CAA2C,CAC3E,WAAW,EACX,WAAW,EACX,SAAS,EACT,UAAU,EACV,IAAI,CAAC,OAAO,CACb,CAAA;QACD,OAAO,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IACvC,CAAC;IAGD,KAAK,CAAC,6BAA6B,CACjC,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,UAAU,GAAG,EAAE;QAEf,IAAI,cAAc,GAAG,gBAAgB,GAAG,EAAE,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;SACjE;QACD,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,KAAK,IAAI,WAAW,GAAG,CAAC,gBAAgB,GAAG,CAAC,EAAE,WAAW,IAAI,cAAc,EAAE,WAAW,IAAI,CAAC,EAAE;YAC7F,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;YAC9E,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YACvB,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;SACjB;QACD,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACtC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACzB,CAAC;IAGD,KAAK,CAAC,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,EAAE,cAAc;QACrE,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,QAAQ,GAAG,cAAc,IAAI,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAA;YACpE,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAA;YAC5D,OAAO,IAAI,CAAC,6BAA6B,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;SAC3E;QACD,IAAI,IAAI,CAAC,eAAe,KAAK,aAAa,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;SAC9E;QACD,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,yCAAyC,CACxE,SAAS,EACT,gBAAgB,CACjB,CAAA;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACpB,CAAC;IAGD,KAAK,CAAC,4BAA4B,CAAC,SAAS;QAC1C,IAAI,IAAI,CAAC,eAAe,KAAK,aAAa,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;SACvE;QACD,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gDAAgD,CAAC,SAAS,CAAC,CAAA;QAC5F,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,GAAG,KAAK;QAEtF,IAAI,YAAY,GAAG,OAAO;YACxB,CAAC,CAAC,MAAM,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC;YACpD,CAAC,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAA;QAEjF,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,IAAI,eAAe,GAAG,EAAE,CAAA;QACxB,KAAK,IAAI,WAAW,IAAI,YAAY,EAAE;YACpC,OAAO,CAAC,GAAG,CAAC,sCAAsC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;YACrE,IAAI,OAAO,GAAG,WAAW,CAAC,OAAO,CAAA;YACjC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAAG,MAAM,IAAI,CAAC,sBAAsB,CACrF,WAAW,EACX,OAAO,CACR,CAAA;YACD,IAAI,OAAO,CAAC,MAAM,EAAE;gBAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC,CAAA;aAC5E;iBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE;gBAC1C,eAAe,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC,CAAA;aACnF;SACF;QACD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,WAAW,EAAE,aAAa;QACrD,IAAI,CAAC,WAAW,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;QACxD,IAAI,IAAI,GAAG,WAAW,CAAC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;QACjF,IAAI,OAAO,GAAG,4BAA4B,CAAC,IAAI,EAAE,aAAa,EAAE;YAC9D,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;SACpD,CAAC,CAAA;QACF,IAAI,mBAAmB,GACrB,WAAW,CAAC,aAAa,IAAI,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAEhG,OAAO;YACL,OAAO;YACP,aAAa;YACb,mBAAmB;SACpB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,GAAG,KAAK;QAC3F,IAAI,YAAY,GAAG,OAAO;YACxB,CAAC,CAAC,MAAM,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC;YACpD,CAAC,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAA;QAEjF,IAAI,QAAQ,GAAG,EAAE,CAAA;QACjB,KAAK,IAAI,WAAW,IAAI,YAAY,EAAE;YACpC,IAAI,OAAO,GAAG,WAAW,CAAC,OAAO,CAAA;YACjC,OAAO,CAAC,GAAG,CAAC,8BAA8B,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;YAE7D,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;YAC5E,IAAI,UAAU,EAAE;gBACd,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAAG,UAAU,CAAA;gBACnE,QAAQ,CAAC,IAAI,CAAC;oBACZ,WAAW;oBACX,QAAQ;oBACR,aAAa;oBACb,mBAAmB;iBACpB,CAAC,CAAA;aACH;SACF;QACD,OAAO,QAAQ,CAAA;IACjB,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,WAAW,EAAE,aAAa;QACzD,IAAI,CAAC,WAAW,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;QACxD,IAAI,GAAG,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA;QAC9E,IAAI,QAAQ,GAAG,sBAAsB,CAAC,aAAa,EAAE,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;QAC3E,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAA;QAC1B,IAAI,mBAAmB,GACrB,WAAW,CAAC,aAAa,IAAI,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAChG,OAAO;YACL,QAAQ;YACR,aAAa;YACb,mBAAmB;SACpB,CAAA;IACH,CAAC;CACF;AAED,MAAM,CAAC,OAAO,GAAG,gBAAgB,CAAA"}
|
package/dist/bitcoin-utils.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
21
|
-
export function createAddressObjectByAddress(address: any, network
|
|
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
|
|
29
|
-
export function getAddressType(address: any, network
|
|
30
|
-
export function getPubKeyFromPrivateKeyWIF(privateKeyWIF: any, network
|
|
31
|
-
export function getPubKeyFromPrivateKeyHex(privateKeyHex: any, network
|
|
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
|
|
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;
|
|
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"}
|