@teleportdao/bitcoin 1.6.1 → 1.7.1

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 (129) hide show
  1. package/.tmp/check.ts +101 -0
  2. package/.tmp/psbt/sign-transaction.ts +121 -0
  3. package/.tmp/rbf.ts +45 -0
  4. package/dist/bitcoin-interface-ordinal.d.ts +109 -0
  5. package/dist/bitcoin-interface-ordinal.d.ts.map +1 -0
  6. package/dist/bitcoin-interface-ordinal.js +141 -0
  7. package/dist/bitcoin-interface-ordinal.js.map +1 -0
  8. package/dist/bitcoin-interface-teleswap.d.ts +148 -0
  9. package/dist/bitcoin-interface-teleswap.d.ts.map +1 -0
  10. package/dist/bitcoin-interface-teleswap.js +179 -0
  11. package/dist/bitcoin-interface-teleswap.js.map +1 -0
  12. package/dist/bitcoin-interface-utils.d.ts.map +1 -1
  13. package/dist/bitcoin-interface-utils.js.map +1 -1
  14. package/dist/bitcoin-interface.d.ts +45 -333
  15. package/dist/bitcoin-interface.d.ts.map +1 -1
  16. package/dist/bitcoin-interface.js +68 -202
  17. package/dist/bitcoin-interface.js.map +1 -1
  18. package/dist/bitcoin-utils.d.ts +12 -59
  19. package/dist/bitcoin-utils.d.ts.map +1 -1
  20. package/dist/bitcoin-utils.js +61 -61
  21. package/dist/bitcoin-utils.js.map +1 -1
  22. package/dist/{bitcoin-base.d.ts → bitcoin-wallet-base.d.ts} +9 -9
  23. package/dist/bitcoin-wallet-base.d.ts.map +1 -0
  24. package/dist/{bitcoin-base.js → bitcoin-wallet-base.js} +15 -14
  25. package/dist/bitcoin-wallet-base.js.map +1 -0
  26. package/dist/helper/brc20-helper.d.ts +43 -0
  27. package/dist/helper/brc20-helper.d.ts.map +1 -0
  28. package/dist/helper/brc20-helper.js +129 -0
  29. package/dist/helper/brc20-helper.js.map +1 -0
  30. package/dist/helper/index.d.ts +4 -0
  31. package/dist/helper/index.d.ts.map +1 -0
  32. package/dist/helper/index.js +30 -0
  33. package/dist/helper/index.js.map +1 -0
  34. package/dist/helper/ordinal-helper.d.ts +13 -0
  35. package/dist/helper/ordinal-helper.d.ts.map +1 -0
  36. package/dist/helper/ordinal-helper.js +127 -0
  37. package/dist/helper/ordinal-helper.js.map +1 -0
  38. package/dist/helper/teleswap-helper.d.ts +84 -0
  39. package/dist/helper/teleswap-helper.d.ts.map +1 -0
  40. package/dist/helper/teleswap-helper.js +181 -0
  41. package/dist/helper/teleswap-helper.js.map +1 -0
  42. package/dist/index.d.ts +8 -3
  43. package/dist/index.d.ts.map +1 -1
  44. package/dist/index.js +8 -3
  45. package/dist/index.js.map +1 -1
  46. package/dist/ordinal-wallet.d.ts +536 -0
  47. package/dist/ordinal-wallet.d.ts.map +1 -0
  48. package/dist/ordinal-wallet.js +448 -0
  49. package/dist/ordinal-wallet.js.map +1 -0
  50. package/dist/sign/sign-transaction.d.ts +2 -4
  51. package/dist/sign/sign-transaction.d.ts.map +1 -1
  52. package/dist/sign/sign-transaction.js +26 -22
  53. package/dist/sign/sign-transaction.js.map +1 -1
  54. package/dist/teleswap-wallet.d.ts +54 -0
  55. package/dist/teleswap-wallet.d.ts.map +1 -0
  56. package/dist/teleswap-wallet.js +87 -0
  57. package/dist/teleswap-wallet.js.map +1 -0
  58. package/dist/transaction-builder/bitcoin-transaction-builder.d.ts +2 -20
  59. package/dist/transaction-builder/bitcoin-transaction-builder.d.ts.map +1 -1
  60. package/dist/transaction-builder/bitcoin-transaction-builder.js +5 -4
  61. package/dist/transaction-builder/bitcoin-transaction-builder.js.map +1 -1
  62. package/dist/transaction-builder/index.d.ts +2 -1
  63. package/dist/transaction-builder/index.d.ts.map +1 -1
  64. package/dist/transaction-builder/index.js +2 -6
  65. package/dist/transaction-builder/index.js.map +1 -1
  66. package/dist/transaction-builder/ordinal-transaction-builder.d.ts +63 -0
  67. package/dist/transaction-builder/ordinal-transaction-builder.d.ts.map +1 -0
  68. package/dist/transaction-builder/ordinal-transaction-builder.js +131 -0
  69. package/dist/transaction-builder/ordinal-transaction-builder.js.map +1 -0
  70. package/dist/transaction-builder/transaction-builder.d.ts +10 -7
  71. package/dist/transaction-builder/transaction-builder.d.ts.map +1 -1
  72. package/dist/transaction-builder/transaction-builder.js +18 -9
  73. package/dist/transaction-builder/transaction-builder.js.map +1 -1
  74. package/dist/type.d.ts +43 -0
  75. package/dist/type.d.ts.map +1 -0
  76. package/dist/type.js +3 -0
  77. package/dist/type.js.map +1 -0
  78. package/dist/utils/tools.d.ts +4 -4
  79. package/dist/utils/tools.d.ts.map +1 -1
  80. package/dist/utils/tools.js +8 -5
  81. package/dist/utils/tools.js.map +1 -1
  82. package/package.json +6 -9
  83. package/src/bitcoin-interface-ordinal.ts +181 -0
  84. package/src/bitcoin-interface-teleswap.ts +255 -0
  85. package/src/bitcoin-interface-utils.ts +1 -1
  86. package/src/bitcoin-interface.ts +99 -303
  87. package/src/bitcoin-utils.ts +65 -90
  88. package/src/{bitcoin-base.ts → bitcoin-wallet-base.ts} +24 -19
  89. package/src/helper/brc20-helper.ts +181 -0
  90. package/src/helper/index.ts +3 -0
  91. package/src/helper/ordinal-helper.ts +118 -0
  92. package/src/helper/teleswap-helper.ts +300 -0
  93. package/src/index.ts +11 -3
  94. package/src/ordinal-wallet.ts +738 -0
  95. package/src/sign/sign-transaction.ts +42 -33
  96. package/src/teleswap-wallet.ts +155 -0
  97. package/src/transaction-builder/bitcoin-transaction-builder.ts +7 -24
  98. package/src/transaction-builder/index.ts +2 -1
  99. package/src/transaction-builder/ordinal-transaction-builder.ts +147 -0
  100. package/src/transaction-builder/transaction-builder.ts +33 -15
  101. package/src/type.ts +43 -0
  102. package/src/utils/tools.ts +17 -11
  103. package/tsconfig.json +1 -2
  104. package/dist/bitcoin-base.d.ts.map +0 -1
  105. package/dist/bitcoin-base.js.map +0 -1
  106. package/dist/bitcoin-utils-2.d.ts +0 -2
  107. package/dist/bitcoin-utils-2.d.ts.map +0 -1
  108. package/dist/bitcoin-utils-2.js +0 -13
  109. package/dist/bitcoin-utils-2.js.map +0 -1
  110. package/dist/bundle.js +0 -17
  111. package/dist/helper/burn-request-helper.d.ts +0 -7
  112. package/dist/helper/burn-request-helper.d.ts.map +0 -1
  113. package/dist/helper/burn-request-helper.js +0 -26
  114. package/dist/helper/burn-request-helper.js.map +0 -1
  115. package/dist/helper/teleport-request-helper.d.ts +0 -47
  116. package/dist/helper/teleport-request-helper.d.ts.map +0 -1
  117. package/dist/helper/teleport-request-helper.js +0 -146
  118. package/dist/helper/teleport-request-helper.js.map +0 -1
  119. package/dist/mempool-space.d.ts +0 -69
  120. package/dist/mempool-space.d.ts.map +0 -1
  121. package/dist/mempool-space.js +0 -266
  122. package/dist/mempool-space.js.map +0 -1
  123. package/dist/teleport-dao-payments.d.ts +0 -76
  124. package/dist/teleport-dao-payments.d.ts.map +0 -1
  125. package/dist/teleport-dao-payments.js +0 -217
  126. package/dist/teleport-dao-payments.js.map +0 -1
  127. package/src/helper/burn-request-helper.js +0 -27
  128. package/src/helper/teleport-request-helper.js +0 -181
  129. package/src/teleport-dao-payments.ts +0 -347
@@ -13,127 +13,108 @@ exports.BitcoinInterface = void 0;
13
13
  const providers_1 = require("@teleportdao/providers");
14
14
  const tools_1 = require("./utils/tools");
15
15
  const bitcoin_utils_1 = require("./bitcoin-utils");
16
- const teleport_request_helper_1 = require("./helper/teleport-request-helper");
17
- const burn_request_helper_1 = require("./helper/burn-request-helper");
18
16
  const bitcoin_interface_utils_1 = require("./bitcoin-interface-utils");
19
17
  class BitcoinInterface extends bitcoin_interface_utils_1.BitcoinInterfaceUtils {
20
- constructor(connectionInfo, networkName, config = { minTeleporterFeeAmount: 0 }) {
18
+ constructor(connectionInfo, networkName) {
21
19
  var _a;
22
20
  super(networkName);
23
- if ((_a = connectionInfo.rpc) === null || _a === void 0 ? void 0 : _a.enabled) {
24
- this.rpcProvider = providers_1.bitcoin.getRpcProvider(connectionInfo.rpc);
21
+ if (connectionInfo.api.provider === "BlockStream") {
22
+ this.apiProvider = new providers_1.bitcoin.BlockStream(this.testnet);
25
23
  }
26
- else if (connectionInfo.api.provider !== "BlockStream" &&
27
- connectionInfo.api.provider !== "MempoolSpace") {
28
- throw new Error("if rpc is disabled, we just support BlockStream Or MempoolSpace as api provider");
24
+ else {
25
+ this.apiProvider = new providers_1.bitcoin.MempoolSpace(this.testnet);
29
26
  }
30
- if (connectionInfo.api.enabled) {
31
- this.apiProviderName = connectionInfo.api.provider;
32
- this.apiProvider = providers_1.bitcoin.getApiProvider(connectionInfo.api, networkName);
27
+ if ((_a = connectionInfo.rpc) === null || _a === void 0 ? void 0 : _a.enabled) {
28
+ this.rpcProvider = providers_1.bitcoin.getRpcProvider(connectionInfo.rpc);
33
29
  }
34
- this.minTeleporterFeeAmount = config.minTeleporterFeeAmount;
35
- this.provider = this.rpcProvider || this.apiProvider;
36
- }
37
- static checkAndParseProtocolRequest(vouts, address, config) {
38
- return (0, teleport_request_helper_1.checkAndParseProtocolRequest)(vouts, address, config);
30
+ this.utxoProvider = providers_1.bitcoin.getUtxoProvider(connectionInfo.api, networkName);
39
31
  }
40
- static getBurnTransactionInfo(address, vin, vouts) {
41
- return (0, burn_request_helper_1.getBurnTransactionInfo)(address, vin, vouts);
32
+ getFeeRate(speed) {
33
+ return __awaiter(this, void 0, void 0, function* () {
34
+ return new providers_1.bitcoin.MempoolSpace(this.testnet).getRecommendedFeeRate(speed);
35
+ });
42
36
  }
43
37
  getLatestBlockNumber() {
44
38
  return __awaiter(this, void 0, void 0, function* () {
45
- let latestHeight = yield this.provider.getLatestBlockNumber();
39
+ let latestHeight = yield (this.rpcProvider || this.apiProvider).getLatestBlockNumber();
46
40
  return latestHeight;
47
41
  });
48
42
  }
49
43
  getBlockHash(blockNumber) {
50
44
  return __awaiter(this, void 0, void 0, function* () {
51
- let headerHash = yield (0, tools_1.runWithRetries)(() => this.provider.getBlockHash(blockNumber));
45
+ let headerHash = yield (0, tools_1.runWithRetries)(() => (this.rpcProvider || this.apiProvider).getBlockHash(blockNumber));
52
46
  return headerHash;
53
47
  });
54
48
  }
55
49
  getBlockHeaderHex(blockNumber) {
56
50
  return __awaiter(this, void 0, void 0, function* () {
57
- let headerHex = yield (0, tools_1.runWithRetries)(() => this.provider.getBlockHeaderHex(blockNumber));
51
+ let headerHex = yield (0, tools_1.runWithRetries)(() => (this.rpcProvider || this.apiProvider).getBlockHeaderHex(blockNumber));
58
52
  return headerHex;
59
53
  });
60
54
  }
61
55
  getTransaction(txId) {
62
56
  return __awaiter(this, void 0, void 0, function* () {
63
- return this.provider.getTransaction(txId);
57
+ return (this.rpcProvider || this.apiProvider).getTransaction(txId);
64
58
  });
65
59
  }
66
- getFeeRate(speed) {
60
+ getRawTransaction(txId) {
67
61
  return __awaiter(this, void 0, void 0, function* () {
68
- return new providers_1.bitcoin.ApiProviders.MempoolSpace(this.testnet).getRecommendedFeeRate(speed);
62
+ return (this.rpcProvider || this.apiProvider).getRawTransaction(txId);
69
63
  });
70
64
  }
71
- getHexBlockHeaders(startBlockNumber, endBlockNumber) {
65
+ getMerkleProof(txId, blockHash) {
72
66
  return __awaiter(this, void 0, void 0, function* () {
73
- const blockHeaders = [];
74
- let difficulty = null;
75
- let hexBlockHeaders = "";
76
- let fromBlockNumber = startBlockNumber;
77
- for (let blockNumber = startBlockNumber; blockNumber <= endBlockNumber; blockNumber += 1) {
78
- let blockHeader = yield this.getBlockHeaderHex(blockNumber);
79
- console.log("block", blockNumber);
80
- let parsedBlockHeader = (0, bitcoin_utils_1.parseBlockHeader)(blockHeader);
81
- if (difficulty && parsedBlockHeader.difficulty !== difficulty) {
82
- blockHeaders.push({
83
- hexBlockHeaders,
84
- fromBlockNumber,
85
- toBlockNumber: blockNumber - 1,
86
- difficulty,
87
- });
88
- hexBlockHeaders = blockHeader;
89
- fromBlockNumber = blockNumber;
90
- }
91
- else {
92
- hexBlockHeaders += blockHeader;
93
- }
94
- difficulty = parsedBlockHeader.difficulty;
95
- }
96
- if (hexBlockHeaders) {
97
- blockHeaders.push({
98
- hexBlockHeaders,
99
- fromBlockNumber,
100
- toBlockNumber: endBlockNumber,
101
- difficulty,
102
- });
67
+ if (!this.rpcProvider) {
68
+ return this.apiProvider.getMerkleProof(txId);
103
69
  }
104
- return blockHeaders;
70
+ let txIds = yield (0, tools_1.runWithRetries)(() => this.rpcProvider.getBlockTransactionIds(blockHash), {
71
+ maxTries: 10,
72
+ retrySleep: 2000,
73
+ });
74
+ let proof = (0, bitcoin_utils_1.calculateMerkleProof)(txIds, txId);
75
+ return proof;
105
76
  });
106
77
  }
107
78
  getRequestProof(transaction) {
108
79
  return __awaiter(this, void 0, void 0, function* () {
109
- let transactionHex = transaction.hex || (yield this.provider.getRawTransaction(transaction.txId));
110
- let txInfo;
80
+ let transactionHex = transaction.hex || (yield this.getRawTransaction(transaction.txId));
81
+ let blockHash = transaction.blockHash;
82
+ let blockNumber = transaction.blockNumber;
111
83
  if (!(transaction.blockHash && transaction.blockNumber)) {
112
- txInfo = yield this.provider.getTransaction(transaction.txId);
84
+ let txInfo = yield this.getTransaction(transaction.txId);
85
+ blockHash = txInfo.blockHash;
86
+ blockNumber = txInfo.blockNumber;
113
87
  }
114
- let blockHash = transaction.blockHash || (txInfo === null || txInfo === void 0 ? void 0 : txInfo.blockHash);
115
- let blockNumber = transaction.blockNumber || (txInfo === null || txInfo === void 0 ? void 0 : txInfo.blockNumber);
116
88
  let parsedTx = (0, bitcoin_utils_1.parseRawTransaction)(transactionHex);
117
89
  let merkleProof = transaction.merkleProof || (yield this.getMerkleProof(transaction.txId, blockHash));
118
90
  return {
119
91
  parsedTx,
120
92
  merkleProof,
121
- blockNumber,
122
- blockHash,
93
+ blockNumber: blockNumber,
94
+ blockHash: blockHash,
123
95
  };
124
96
  });
125
97
  }
126
- getMerkleProof(txId, blockHash) {
98
+ getUtxo(address) {
127
99
  return __awaiter(this, void 0, void 0, function* () {
128
- if (!this.rpcProvider) {
129
- throw new Error("RPC provider not set");
100
+ if (!this.apiProvider) {
101
+ throw new Error("api provider not set");
130
102
  }
131
- let txIds = yield (0, tools_1.runWithRetries)(() => this.rpcProvider.getBlockTransactionIds(blockHash), {
132
- maxTries: 10,
133
- retrySleep: 2000,
134
- });
135
- let proof = (0, bitcoin_utils_1.calculateMerkleProof)(txIds, txId);
136
- return proof;
103
+ return this.apiProvider.getUtxos(address);
104
+ });
105
+ }
106
+ getExtendedUtxo(signerInfo) {
107
+ return __awaiter(this, void 0, void 0, function* () {
108
+ if (!this.apiProvider) {
109
+ throw new Error("api provider not set");
110
+ }
111
+ let utxos = yield this.apiProvider.getUtxos(signerInfo.address);
112
+ return utxos.map((tx) => ({
113
+ hash: tx.txId,
114
+ value: tx.value,
115
+ index: tx.index,
116
+ signerInfo,
117
+ }));
137
118
  });
138
119
  }
139
120
  getAddressesUtxo(allAddresses) {
@@ -151,7 +132,7 @@ class BitcoinInterface extends bitcoin_interface_utils_1.BitcoinInterfaceUtils {
151
132
  for (let addresses of chunkOfAddresses) {
152
133
  const allPromises = [];
153
134
  for (let address of addresses) {
154
- let promise = yield this.apiProvider.getUtxos(address);
135
+ let promise = yield this.getUtxo(address);
155
136
  allPromises.push(promise);
156
137
  }
157
138
  let result = yield Promise.all(allPromises);
@@ -163,48 +144,39 @@ class BitcoinInterface extends bitcoin_interface_utils_1.BitcoinInterfaceUtils {
163
144
  return results.flat(1);
164
145
  });
165
146
  }
166
- getAddressesExtendedUtxo(allAddressesInfo) {
147
+ getAddressesExtendedUtxo(signerInfos) {
167
148
  return __awaiter(this, void 0, void 0, function* () {
168
149
  if (!this.apiProvider) {
169
- throw new Error("this function need an api provider");
150
+ throw new Error("api provider not set");
170
151
  }
171
- const chunkOfAddressesInfo = [];
152
+ const chunkOfAddresses = [];
172
153
  const chunkLength = 20;
173
- for (let i = 0; i < allAddressesInfo.length; i += chunkLength) {
174
- const tmp = allAddressesInfo.slice(i, i + chunkLength);
175
- chunkOfAddressesInfo.push(tmp);
154
+ for (let i = 0; i < signerInfos.length; i += chunkLength) {
155
+ const tmp = signerInfos.slice(i, i + chunkLength);
156
+ chunkOfAddresses.push(tmp);
176
157
  }
177
158
  let results = [];
178
- for (let addressesInfo of chunkOfAddressesInfo) {
159
+ for (let addresses of chunkOfAddresses) {
179
160
  const allPromises = [];
180
- for (let info of addressesInfo) {
181
- let promise = this.apiProvider.getUtxos(info.address);
161
+ for (let signerInfo of addresses) {
162
+ let promise = yield this.getExtendedUtxo(signerInfo);
182
163
  allPromises.push(promise);
183
164
  }
184
165
  let result = yield Promise.all(allPromises);
185
166
  if (result.flat(1).length === 0) {
186
167
  break;
187
168
  }
188
- results.push(result
189
- .map((utxos, i) => utxos.map((tx) => ({
190
- hash: tx.txId,
191
- value: tx.value,
192
- index: tx.index,
193
- signerInfo: addressesInfo[i],
194
- })))
195
- .flat(1));
169
+ results.push(result.flat(1));
196
170
  }
197
171
  return results.flat(1);
198
172
  });
199
173
  }
200
174
  getBalance(address) {
201
- var _a;
202
175
  return __awaiter(this, void 0, void 0, function* () {
203
176
  if (!this.apiProvider) {
204
177
  throw new Error("this function need an api provider");
205
178
  }
206
- let utxos = (_a = (yield this.apiProvider.getUtxos(address))) !== null && _a !== void 0 ? _a : [];
207
- return utxos.reduce((a, tx) => a + Number(tx.value), 0);
179
+ return this.apiProvider.getBalance(address);
208
180
  });
209
181
  }
210
182
  getBlockTransactions(addresses, blockNumber, inputTxIds = []) {
@@ -216,128 +188,22 @@ class BitcoinInterface extends bitcoin_interface_utils_1.BitcoinInterfaceUtils {
216
188
  maxTries: 10,
217
189
  retrySleep: 2000,
218
190
  });
219
- let { withdrawTxs, depositTxs } = (0, bitcoin_utils_1.extractTransactionsAndBlockInfoFromRawBlock)(rawBlockHex, blockNumber, addresses, inputTxIds, this.network);
220
- return depositTxs.concat(withdrawTxs);
191
+ return (0, bitcoin_utils_1.extractTransactionsAndBlockInfoFromRawBlock)(rawBlockHex, blockNumber, addresses, inputTxIds, this.network);
221
192
  });
222
193
  }
223
194
  getMultipleBlocksTransactions(addresses, startBlockNumber, endBlockNumber, inputTxIds = []) {
224
195
  return __awaiter(this, void 0, void 0, function* () {
225
- if (endBlockNumber - startBlockNumber > 20) {
226
- throw new Error("cant get more than 20 block per function call");
227
- }
228
196
  let blockTxs = [];
229
197
  for (let blockNumber = +startBlockNumber + 1; blockNumber <= endBlockNumber; blockNumber += 1) {
230
198
  console.log(blockNumber);
231
199
  const response = yield this.getBlockTransactions(addresses, blockNumber, inputTxIds);
232
- blockTxs.push(response);
200
+ blockTxs.push(response.withdrawTxs, response.depositTxs);
233
201
  }
234
202
  blockTxs = yield Promise.all(blockTxs);
235
203
  return blockTxs.flat(1);
236
204
  });
237
205
  }
238
- getTransactionHistory(addresses, startBlockNumber, endBlockNumber) {
239
- return __awaiter(this, void 0, void 0, function* () {
240
- if (this.rpcProvider) {
241
- let endBlock = endBlockNumber || (yield this.getLatestBlockNumber());
242
- let startBlock = Math.max(+startBlockNumber, +endBlock - 20);
243
- return this.getMultipleBlocksTransactions(addresses, startBlock, endBlock);
244
- }
245
- if (this.apiProviderName !== "BlockStream" && this.apiProviderName !== "MempoolSpace") {
246
- throw new Error("not support this api provider");
247
- }
248
- let txs = yield this.apiProvider.getTransactionHistoryForMultipleAddresses(addresses, startBlockNumber);
249
- return txs.flat(1);
250
- });
251
- }
252
- getMempoolTransactionHistory(addresses) {
253
- return __awaiter(this, void 0, void 0, function* () {
254
- if (this.apiProviderName !== "BlockStream" && this.apiProviderName !== "MempoolSpace") {
255
- throw new Error("not support this api provider");
256
- }
257
- let txs = yield this.apiProvider.getMempoolTransactionHistoryForMultipleAddresses(addresses);
258
- return txs.flat(1);
259
- });
260
- }
261
- getTeleporterRequests(addresses, startblockNumber, endBlockNumber, mempool = false) {
262
- return __awaiter(this, void 0, void 0, function* () {
263
- let transactions = mempool
264
- ? yield this.getMempoolTransactionHistory(addresses)
265
- : yield this.getTransactionHistory(addresses, startblockNumber, endBlockNumber);
266
- let requests = [];
267
- let invalidRequests = [];
268
- for (let inputTx of transactions) {
269
- let { transaction, request, lockerAddress, lockerLockingScript } = yield this.getTeleportRequestByTx(inputTx, inputTx.address);
270
- if (request.status) {
271
- requests.push({ transaction, request, lockerAddress, lockerLockingScript });
272
- }
273
- else if (request.code !== "NO_OP_RETURN") {
274
- invalidRequests.push({ transaction, request, lockerAddress, lockerLockingScript });
275
- }
276
- }
277
- return { requests, invalidRequests };
278
- });
279
- }
280
- getTeleportRequestByTx(inputTransaction, lockerAddress) {
281
- return __awaiter(this, void 0, void 0, function* () {
282
- let transaction = inputTransaction;
283
- if (!transaction.txId)
284
- throw new Error("txId not exist");
285
- if (!(transaction === null || transaction === void 0 ? void 0 : transaction.vout)) {
286
- transaction = yield this.getTransaction(transaction.txId);
287
- }
288
- let vout = transaction.vout;
289
- let request = (0, teleport_request_helper_1.checkAndParseProtocolRequest)(vout, lockerAddress, {
290
- minTeleporterFeeAmount: this.minTeleporterFeeAmount,
291
- });
292
- let lockerLockingScript = transaction.addressScript ||
293
- this.convertAddressToScript(lockerAddress).script.toString("hex");
294
- return {
295
- transaction,
296
- request,
297
- lockerAddress,
298
- lockerLockingScript,
299
- };
300
- });
301
- }
302
- getLockersBurnTransactions(addresses, startBlockNumber, endBlockNumber, mempool = false) {
303
- return __awaiter(this, void 0, void 0, function* () {
304
- let transactions = mempool
305
- ? yield this.getMempoolTransactionHistory(addresses)
306
- : yield this.getTransactionHistory(addresses, startBlockNumber, endBlockNumber);
307
- let validTxs = [];
308
- for (let transaction of transactions) {
309
- let address = transaction.address;
310
- let txBurnInfo = yield this.getTransactionBurnInfoByTx(transaction, address);
311
- if (txBurnInfo) {
312
- const { burnInfo, lockerAddress, lockerLockingScript } = txBurnInfo;
313
- validTxs.push({
314
- transaction,
315
- burnInfo,
316
- lockerAddress,
317
- lockerLockingScript,
318
- });
319
- }
320
- }
321
- return validTxs;
322
- });
323
- }
324
- getTransactionBurnInfoByTx(transaction, lockerAddress) {
325
- return __awaiter(this, void 0, void 0, function* () {
326
- if (!transaction.txId)
327
- throw new Error("txId not exist");
328
- let vin = transaction.vin || (yield this.getTransaction(transaction.txId)).vin;
329
- let burnInfo = (0, burn_request_helper_1.getBurnTransactionInfo)(lockerAddress, vin, transaction.vout);
330
- if (!burnInfo)
331
- return null;
332
- let lockerLockingScript = transaction.addressScript ||
333
- this.convertAddressToScript(lockerAddress).script.toString("hex");
334
- return {
335
- burnInfo,
336
- lockerAddress,
337
- lockerLockingScript,
338
- };
339
- });
340
- }
341
206
  }
342
207
  exports.BitcoinInterface = BitcoinInterface;
208
+ exports.default = BitcoinInterface;
343
209
  //# sourceMappingURL=bitcoin-interface.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-interface.js","sourceRoot":"","sources":["../src/bitcoin-interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitcoin-interface.js","sourceRoot":"","sources":["../src/bitcoin-interface.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /// <reference types="node" />
2
- import networks from "./utils/networks";
3
2
  import * as bitcoin from "bitcoinjs-lib";
3
+ import networks from "./utils/networks";
4
+ import { Transaction } from "./type";
4
5
  export { networks };
5
6
  export declare function generateMnemonic(): string;
6
7
  export declare function reverseBytes(hexInput: string): string;
@@ -28,7 +29,12 @@ export declare function parseBlockHeader(headerHex: string): {
28
29
  difficulty: string;
29
30
  nonce: string;
30
31
  };
31
- export declare function convertBitcoinScriptToAddress(script: Buffer, network?: bitcoin.networks.Network): string | null;
32
+ export declare function getAddressType(address: string, network?: bitcoin.networks.Network): "p2tr" | "p2wpkh" | "p2sh" | "p2pkh";
33
+ export declare function createAddressObjectByAddress(address: string, network?: bitcoin.networks.Network): {
34
+ addressObject: bitcoin.payments.Payment;
35
+ addressType: "p2tr" | "p2wpkh" | "p2sh" | "p2pkh";
36
+ };
37
+ export declare function convertBitcoinScriptToAddress(script: Buffer, network?: bitcoin.networks.Network): string | undefined;
32
38
  export declare function parseRawBlock(rawBlockHex: string, blockNumber?: number, network?: bitcoin.networks.Network): {
33
39
  blockNumber: number | undefined;
34
40
  merkleRoot: string;
@@ -40,7 +46,7 @@ export declare function parseRawBlock(rawBlockHex: string, blockNumber?: number,
40
46
  blockNumber: number | undefined;
41
47
  blockHash: string;
42
48
  vout: {
43
- address: string | null;
49
+ address: string | undefined;
44
50
  script: string;
45
51
  value: number;
46
52
  index: number;
@@ -54,7 +60,7 @@ export declare function parseRawBlock(rawBlockHex: string, blockNumber?: number,
54
60
  export declare function extractTransactionsAndBlockInfoFromRawBlock(rawBlockHex: string, blockNumber: number, addresses?: string[], inputTxIds?: {
55
61
  txId: string;
56
62
  index: number;
57
- address?: string;
63
+ address: string;
58
64
  script?: string;
59
65
  value?: number;
60
66
  }[], network?: bitcoin.networks.Network): {
@@ -64,59 +70,10 @@ export declare function extractTransactionsAndBlockInfoFromRawBlock(rawBlockHex:
64
70
  merkleRoot: string;
65
71
  prvBlockHash: string;
66
72
  };
67
- withdrawTxs: {
68
- txId: string;
69
- version: number;
70
- locktime: number;
71
- blockNumber: number;
72
- blockHash: string;
73
- merkleProof: {
74
- intermediateNodes: string;
75
- transactionIndex: number;
76
- };
77
- vout: {
78
- address: string | null;
79
- script: string;
80
- value: number;
81
- }[];
82
- vin: {
83
- txId: string;
84
- index: number;
85
- address?: string | null;
86
- script?: string | null;
87
- value?: number | null;
88
- }[];
89
- address: string;
90
- addressScript: string;
91
- }[];
92
- depositTxs: {
93
- txId: string;
94
- version: number;
95
- locktime: number;
96
- blockNumber: number;
97
- blockHash: string;
98
- merkleProof: {
99
- intermediateNodes: string;
100
- transactionIndex: number;
101
- };
102
- vout: {
103
- address: string | null;
104
- script: string;
105
- value: number;
106
- }[];
107
- vin: {
108
- txId: string;
109
- index: number;
110
- address?: string | null;
111
- script?: string | null;
112
- value?: number | null;
113
- }[];
114
- address: string;
115
- addressScript: string;
116
- }[];
73
+ withdrawTxs: Transaction[];
74
+ depositTxs: Transaction[];
117
75
  };
118
76
  export declare function validateAddress(address: string, network?: bitcoin.networks.Network): boolean;
119
- export declare function getAddressType(address: string, network?: bitcoin.networks.Network): "p2tr" | "p2wpkh" | "p2sh" | "p2pkh";
120
77
  export declare function createAddressObjectByScript({ addressType, script }: {
121
78
  addressType: string;
122
79
  script: Buffer;
@@ -129,10 +86,6 @@ export declare function createAddressObjectByPublicKey({ addressType, publicKey
129
86
  addressType: string;
130
87
  publicKey: Buffer;
131
88
  }, network?: bitcoin.Network): bitcoin.payments.Payment;
132
- export declare function createAddressObjectByAddress(address: string, network?: bitcoin.networks.Network): {
133
- addressObject: bitcoin.payments.Payment;
134
- addressType: "p2tr" | "p2wpkh" | "p2sh" | "p2pkh";
135
- };
136
89
  export declare function publicKeyConvertor(publicKeyHex: string, compressed?: boolean): string;
137
90
  export declare const addressTypeHelper: {
138
91
  addressTypesNumber: {
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-utils.d.ts","sourceRoot":"","sources":["../src/bitcoin-utils.ts"],"names":[],"mappings":";AAAA,OAAO,QAAQ,MAAM,kBAAkB,CAAA;AAKvC,OAAO,KAAK,OAAO,MAAM,eAAe,CAAA;AAmCxC,OAAO,EAAE,QAAQ,EAAE,CAAA;AAEnB,wBAAgB,gBAAgB,WAG/B;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,UAE5C;AAED,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,MAAM,EACZ,KAAK,SAAI,EACT,QAAQ,UAAQ,EAChB,OAAO,2BAAmB,UAO3B;AAED,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,MAAM,EACrB,OAAO,2BAA2B,UAInC;AAED,wBAAgB,0BAA0B,CACxC,aAAa,EAAE,MAAM,EACrB,OAAO,2BAA2B,UAInC;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,2BAA2B,UAGhG;AAED,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM;;;;;;;EAsDzD;AAED,wBAAgB,oBAAoB,CAClC,iBAAiB,EAAE,MAAM,EAAE,EAC3B,IAAI,EAAE,MAAM,EACZ,eAAe,CAAC,EAAE,MAAM;;;EA4BzB;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM;aAoBrC,MAAM;uBACI,MAAM;gBACb,MAAM;eACP,MAAM;gBACL,MAAM;WACX,MAAM;EAEhB;AAGD,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,2BAA2B,iBAM/F;AAED,wBAAgB,aAAa,CAC3B,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,2BAA2B;;;;;;;;;;;;;;;;;;;;;EA4BnC;AAED,wBAAgB,2CAA2C,CACzD,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,MAAM,EAAO,EACxB,UAAU,GAAE;IACV,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,EAAO,EACR,OAAO,2BAA2B;;;;;;;;cAqB1B,MAAM;iBACH,MAAM;kBACL,MAAM;qBACH,MAAM;mBACR,MAAM;qBACJ;YACX,iBAAiB,EAAE,MAAM,CAAA;YACzB,gBAAgB,EAAE,MAAM,CAAA;SACzB;cACK;YACJ,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;YACtB,MAAM,EAAE,MAAM,CAAA;YACd,KAAK,EAAE,MAAM,CAAA;SACd,EAAE;aACE;YACH,IAAI,EAAE,MAAM,CAAA;YACZ,KAAK,EAAE,MAAM,CAAA;YACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SACtB,EAAE;iBACM,MAAM;uBACA,MAAM;;;cAtBf,MAAM;iBACH,MAAM;kBACL,MAAM;qBACH,MAAM;mBACR,MAAM;qBACJ;YACX,iBAAiB,EAAE,MAAM,CAAA;YACzB,gBAAgB,EAAE,MAAM,CAAA;SACzB;cACK;YACJ,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;YACtB,MAAM,EAAE,MAAM,CAAA;YACd,KAAK,EAAE,MAAM,CAAA;SACd,EAAE;aACE;YACH,IAAI,EAAE,MAAM,CAAA;YACZ,KAAK,EAAE,MAAM,CAAA;YACb,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;YACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;SACtB,EAAE;iBACM,MAAM;uBACA,MAAM;;EA0FxB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,2BAA2B,WAiBlF;AAMD,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,2BAA2B,wCAkBjF;AAED,wBAAgB,2BAA2B,CACzC,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAChE,OAAO,GAAE,OAAO,CAAC,OAAkC,4BAsCpD;AAED,wBAAgB,yBAAyB,CACvC,EAAE,WAAW,EAAE,IAAI,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,EAC5D,OAAO,GAAE,OAAO,CAAC,OAAkC,4BAuCpD;AAED,wBAAgB,8BAA8B,CAC5C,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,EACtE,OAAO,GAAE,OAAO,CAAC,OAAkC,GAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAkC1B;AAED,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,2BAA2B;;;EAgC/F;AAED,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,UAAO,UAKzE;AAED,eAAO,MAAM,iBAAiB,EAAE;IAC9B,kBAAkB,EAAE;QAClB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KACtB,CAAA;IACD,YAAY,EAAE,MAAM,EAAE,CAAA;CAIvB,CAAA"}
1
+ {"version":3,"file":"bitcoin-utils.d.ts","sourceRoot":"","sources":["../src/bitcoin-utils.ts"],"names":[],"mappings":"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"}