@teleportdao/bitcoin 1.4.4 → 1.4.6

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 (58) hide show
  1. package/dist/bitcoin-base.d.ts +62 -50
  2. package/dist/bitcoin-base.d.ts.map +1 -1
  3. package/dist/bitcoin-base.js +35 -31
  4. package/dist/bitcoin-base.js.map +1 -1
  5. package/dist/bitcoin-interface-utils.d.ts +12 -10
  6. package/dist/bitcoin-interface-utils.d.ts.map +1 -1
  7. package/dist/bitcoin-interface-utils.js +16 -10
  8. package/dist/bitcoin-interface-utils.js.map +1 -1
  9. package/dist/bitcoin-interface.d.ts +206 -50
  10. package/dist/bitcoin-interface.d.ts.map +1 -1
  11. package/dist/bitcoin-interface.js +42 -27
  12. package/dist/bitcoin-interface.js.map +1 -1
  13. package/dist/bitcoin-utils.d.ts +111 -41
  14. package/dist/bitcoin-utils.d.ts.map +1 -1
  15. package/dist/bitcoin-utils.js +215 -159
  16. package/dist/bitcoin-utils.js.map +1 -1
  17. package/dist/bundle.js +13 -4
  18. package/dist/index.d.ts +5 -6
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +31 -13
  21. package/dist/index.js.map +1 -1
  22. package/dist/teleport-dao-payments.d.ts +60 -92
  23. package/dist/teleport-dao-payments.d.ts.map +1 -1
  24. package/dist/teleport-dao-payments.js +12 -1
  25. package/dist/teleport-dao-payments.js.map +1 -1
  26. package/dist/transaction-builder/bitcoin-transaction-builder.d.ts +8 -4
  27. package/dist/transaction-builder/bitcoin-transaction-builder.d.ts.map +1 -1
  28. package/dist/transaction-builder/bitcoin-transaction-builder.js +3 -3
  29. package/dist/transaction-builder/bitcoin-transaction-builder.js.map +1 -1
  30. package/dist/transaction-builder/transaction-builder.d.ts +63 -13
  31. package/dist/transaction-builder/transaction-builder.d.ts.map +1 -1
  32. package/dist/transaction-builder/transaction-builder.js +72 -19
  33. package/dist/transaction-builder/transaction-builder.js.map +1 -1
  34. package/dist/utils/networks.d.ts +5 -35
  35. package/dist/utils/networks.d.ts.map +1 -1
  36. package/dist/utils/networks.js +26 -2
  37. package/dist/utils/networks.js.map +1 -1
  38. package/dist/utils/tools.d.ts +15 -9
  39. package/dist/utils/tools.d.ts.map +1 -1
  40. package/dist/utils/tools.js +14 -11
  41. package/dist/utils/tools.js.map +1 -1
  42. package/package.json +6 -6
  43. package/src/{bitcoin-base.js → bitcoin-base.ts} +97 -69
  44. package/src/{bitcoin-interface-utils.js → bitcoin-interface-utils.ts} +59 -53
  45. package/src/{bitcoin-interface.js → bitcoin-interface.ts} +115 -45
  46. package/src/{bitcoin-utils.js → bitcoin-utils.ts} +337 -216
  47. package/src/index.ts +5 -8
  48. package/src/{teleport-dao-payments.js → teleport-dao-payments.ts} +67 -6
  49. package/src/transaction-builder/bitcoin-transaction-builder.ts +8 -4
  50. package/src/transaction-builder/transaction-builder.ts +102 -25
  51. package/src/utils/{networks.js → networks.ts} +33 -31
  52. package/src/utils/{tools.js → tools.ts} +80 -72
  53. package/tsconfig.json +10 -9
  54. package/webpack.config.js +16 -0
  55. package/dist/transaction-builder/transaction-builder-common.d.ts +0 -57
  56. package/dist/transaction-builder/transaction-builder-common.d.ts.map +0 -1
  57. package/dist/transaction-builder/transaction-builder-common.js +0 -183
  58. package/dist/transaction-builder/transaction-builder-common.js.map +0 -1
@@ -1,51 +1,176 @@
1
- export = BitcoinInterface;
2
- declare class BitcoinInterface extends BitcoinInterfaceUtils {
3
- constructor(connectionInfo: any, networkName: any, config?: {
1
+ import { bitcoin as bitcoinProvider } from "@teleportdao/providers";
2
+ import { BitcoinInterfaceUtils } from "./bitcoin-interface-utils";
3
+ import type { BitcoinConnectionInfo } from "./transaction-builder/bitcoin-transaction-builder";
4
+ import type { SignerInfo } from "./transaction-builder/transaction-builder";
5
+ export declare class BitcoinInterface extends BitcoinInterfaceUtils {
6
+ rpcProvider?: bitcoinProvider.RPC;
7
+ apiProviderName: string;
8
+ minTeleporterFeeAmount: number;
9
+ provider: bitcoinProvider.ApiProviders.BlockStream | bitcoinProvider.RPC;
10
+ apiProvider: bitcoinProvider.ApiProviders.BlockStream;
11
+ constructor(connectionInfo: BitcoinConnectionInfo, networkName: string, config?: {
4
12
  minTeleporterFeeAmount: number;
5
13
  });
6
- rpcProvider: import("@teleportdao/providers/dist/bitcoin/rpc") | undefined;
7
- apiProviderName: any;
8
- apiProvider: any;
9
- minTeleporterFeeAmount: number;
10
- provider: any;
11
14
  getLatestBlockNumber(): Promise<any>;
12
- getBlockHash(blockNumber: any): Promise<any>;
13
- getBlockHeaderHex(blockNumber: any): Promise<any>;
14
- getTransaction(txId: any): Promise<any>;
15
- getFeeRate(speed?: string): Promise<number>;
16
- getHexBlockHeaders(startBlockNumber: any, endBlockNumber: any): Promise<{
15
+ getBlockHash(blockNumber: number): Promise<any>;
16
+ getBlockHeaderHex(blockNumber: number): Promise<any>;
17
+ getTransaction(txId: string): Promise<{
18
+ txId: any;
19
+ version: any;
20
+ locktime: any;
21
+ blockNumber: any;
22
+ blockHash: any;
23
+ vout: any;
24
+ vin: any;
25
+ }>;
26
+ getFeeRate(speed?: "normal" | "slow" | "fast"): Promise<number>;
27
+ getHexBlockHeaders(startBlockNumber: number, endBlockNumber: number): Promise<{
17
28
  hexBlockHeaders: string;
18
- fromBlockNumber: any;
19
- toBlockNumber: any;
20
- difficulty: any;
29
+ fromBlockNumber: number;
30
+ toBlockNumber: number;
31
+ difficulty: string | null;
21
32
  }[]>;
22
- getRequestProof(transaction: any): Promise<{
33
+ getRequestProof(transaction: {
34
+ txId: string;
35
+ hex?: string;
36
+ blockHash?: string;
37
+ blockNumber?: number;
38
+ merkleProof?: {
39
+ intermediateNodes: string;
40
+ transactionIndex: number;
41
+ };
42
+ }): Promise<{
23
43
  parsedTx: {
24
- version: any;
25
- flag: any;
44
+ version: string;
45
+ flag: string;
26
46
  vin: string;
27
47
  vout: string;
28
48
  witness: string;
29
49
  locktime: string;
30
50
  };
31
- merkleProof: any;
32
- blockNumber: any;
33
- blockHash: any;
51
+ merkleProof: {
52
+ intermediateNodes: string;
53
+ transactionIndex: number;
54
+ };
55
+ blockNumber: number;
56
+ blockHash: string;
34
57
  }>;
35
- getMerkleProof(txId: any, blockHash: any): Promise<{
36
- intermediateNodes: any;
37
- transactionIndex: any;
58
+ getMerkleProof(txId: string, blockHash: string): Promise<{
59
+ intermediateNodes: string;
60
+ transactionIndex: number;
38
61
  }>;
39
- getAddressesUtxo(allAddresses: any): Promise<any[]>;
40
- getAddressesExtendedUtxo(allAddressesInfo: any): Promise<any[]>;
41
- getBalance(address: any): Promise<any>;
42
- getBlockTransactions(addresses: any, blockNumber: any, inputTxIds?: any[]): Promise<any[]>;
43
- getMultipleBlocksTransactions(addresses: any, startBlockNumber: any, endBlockNumber: any, inputTxIds?: any[]): Promise<any[]>;
44
- getTransactionHistory(addresses: any, startBlockNumber: any, endBlockNumber: any): Promise<any>;
45
- getMempoolTransactionHistory(addresses: any): Promise<any>;
46
- getTeleporterRequests(addresses: any, startblockNumber: any, endBlockNumber: any, mempool?: boolean): Promise<{
62
+ getAddressesUtxo(allAddresses: string[]): Promise<{
63
+ address: string;
64
+ txId: string;
65
+ index: number;
66
+ value: number;
67
+ blockNumber?: number | undefined;
68
+ }[]>;
69
+ getAddressesExtendedUtxo(allAddressesInfo: SignerInfo[]): Promise<{
70
+ hash: string;
71
+ value: number;
72
+ index: number;
73
+ signerInfo: SignerInfo;
74
+ }[]>;
75
+ getBalance(address: string): Promise<number>;
76
+ getBlockTransactions(addresses: string[], blockNumber: number, inputTxIds?: never[]): Promise<{
77
+ txId: string;
78
+ version: number;
79
+ locktime: number;
80
+ blockNumber: number;
81
+ blockHash: string;
82
+ merkleProof: {
83
+ intermediateNodes: string;
84
+ transactionIndex: number;
85
+ };
86
+ vout: {
87
+ address: string | null;
88
+ script: string;
89
+ value: number;
90
+ }[];
91
+ vin: {
92
+ txId: string;
93
+ index: number;
94
+ address?: string | null | undefined;
95
+ script?: string | null | undefined;
96
+ value?: number | null | undefined;
97
+ }[];
98
+ address: string;
99
+ addressScript: string;
100
+ }[]>;
101
+ getMultipleBlocksTransactions(addresses: string[], startBlockNumber: number, endBlockNumber: number, inputTxIds?: never[]): Promise<{
102
+ txId: string;
103
+ version: number;
104
+ locktime: number;
105
+ blockNumber: number;
106
+ blockHash: string;
107
+ merkleProof: {
108
+ intermediateNodes: string;
109
+ transactionIndex: number;
110
+ };
111
+ vout: {
112
+ address: string | null;
113
+ script: string;
114
+ value: number;
115
+ }[];
116
+ vin: {
117
+ txId: string;
118
+ index: number;
119
+ address?: string | null | undefined;
120
+ script?: string | null | undefined;
121
+ value?: number | null | undefined;
122
+ }[];
123
+ address: string;
124
+ addressScript: string;
125
+ }[]>;
126
+ getTransactionHistory(addresses: string[], startBlockNumber: number, endBlockNumber: number): Promise<{
127
+ txId: string;
128
+ version: number;
129
+ locktime: number;
130
+ blockNumber: number;
131
+ blockHash: string;
132
+ merkleProof: {
133
+ intermediateNodes: string;
134
+ transactionIndex: number;
135
+ };
136
+ vout: {
137
+ address: string | null;
138
+ script: string;
139
+ value: number;
140
+ }[];
141
+ vin: {
142
+ txId: string;
143
+ index: number;
144
+ address?: string | null | undefined;
145
+ script?: string | null | undefined;
146
+ value?: number | null | undefined;
147
+ }[];
148
+ address: string;
149
+ addressScript: string;
150
+ }[] | {
151
+ address: string;
152
+ txId: any;
153
+ version: any;
154
+ locktime: any;
155
+ blockNumber: any;
156
+ blockHash: any;
157
+ blockTime: any;
158
+ vout: any;
159
+ vin: any;
160
+ }[]>;
161
+ getMempoolTransactionHistory(addresses: string[]): Promise<any[]>;
162
+ getTeleporterRequests(addresses: string[], startblockNumber: number, endBlockNumber: number, mempool?: boolean): Promise<{
47
163
  requests: {
48
- transaction: any;
164
+ transaction: {
165
+ txId: any;
166
+ version?: any;
167
+ locktime?: any;
168
+ blockNumber?: any;
169
+ blockHash?: any;
170
+ vout?: any;
171
+ vin?: any;
172
+ addressScript?: any;
173
+ };
49
174
  request: {
50
175
  status: boolean;
51
176
  data: {
@@ -90,11 +215,20 @@ declare class BitcoinInterface extends BitcoinInterfaceUtils {
90
215
  message?: undefined;
91
216
  code?: undefined;
92
217
  };
93
- lockerAddress: any;
94
- lockerLockingScript: any;
218
+ lockerAddress: string;
219
+ lockerLockingScript: string;
95
220
  }[];
96
221
  invalidRequests: {
97
- transaction: any;
222
+ transaction: {
223
+ txId: any;
224
+ version?: any;
225
+ locktime?: any;
226
+ blockNumber?: any;
227
+ blockHash?: any;
228
+ vout?: any;
229
+ vin?: any;
230
+ addressScript?: any;
231
+ };
98
232
  request: {
99
233
  status: boolean;
100
234
  data: {
@@ -139,12 +273,30 @@ declare class BitcoinInterface extends BitcoinInterfaceUtils {
139
273
  message?: undefined;
140
274
  code?: undefined;
141
275
  };
142
- lockerAddress: any;
143
- lockerLockingScript: any;
276
+ lockerAddress: string;
277
+ lockerLockingScript: string;
144
278
  }[];
145
279
  }>;
146
- getTeleportRequestByTx(inputTransaction: any, lockerAddress: any): Promise<{
147
- transaction: any;
280
+ getTeleportRequestByTx(inputTransaction: {
281
+ txId: any;
282
+ version?: any;
283
+ locktime?: any;
284
+ blockNumber?: any;
285
+ blockHash?: any;
286
+ vout?: any;
287
+ vin?: any;
288
+ addressScript?: any;
289
+ }, lockerAddress: string): Promise<{
290
+ transaction: {
291
+ txId: any;
292
+ version?: any;
293
+ locktime?: any;
294
+ blockNumber?: any;
295
+ blockHash?: any;
296
+ vout?: any;
297
+ vin?: any;
298
+ addressScript?: any;
299
+ };
148
300
  request: {
149
301
  status: boolean;
150
302
  data: {
@@ -189,10 +341,10 @@ declare class BitcoinInterface extends BitcoinInterfaceUtils {
189
341
  message?: undefined;
190
342
  code?: undefined;
191
343
  };
192
- lockerAddress: any;
193
- lockerLockingScript: any;
344
+ lockerAddress: string;
345
+ lockerLockingScript: string;
194
346
  }>;
195
- getLockersBurnTransactions(addresses: any, startBlockNumber: any, endBlockNumber: any, mempool?: boolean): Promise<{
347
+ getLockersBurnTransactions(addresses: string[], startBlockNumber: number, endBlockNumber: number, mempool?: boolean): Promise<{
196
348
  transaction: any;
197
349
  burnInfo: {
198
350
  receivers: any[];
@@ -200,19 +352,23 @@ declare class BitcoinInterface extends BitcoinInterfaceUtils {
200
352
  totalInputValue: any;
201
353
  lockerVin: any;
202
354
  };
203
- lockerAddress: any;
204
- lockerLockingScript: any;
355
+ lockerAddress: string;
356
+ lockerLockingScript: string;
205
357
  }[]>;
206
- getTransactionBurnInfoByTx(transaction: any, lockerAddress: any): Promise<{
358
+ getTransactionBurnInfoByTx(transaction: {
359
+ txId: any;
360
+ vout?: any;
361
+ vin?: any;
362
+ addressScript?: any;
363
+ }, lockerAddress: string): Promise<{
207
364
  burnInfo: {
208
365
  receivers: any[];
209
366
  changes: any[];
210
367
  totalInputValue: any;
211
368
  lockerVin: any;
212
369
  };
213
- lockerAddress: any;
214
- lockerLockingScript: any;
370
+ lockerAddress: string;
371
+ lockerLockingScript: string;
215
372
  } | null>;
216
373
  }
217
- import BitcoinInterfaceUtils = require("./bitcoin-interface-utils");
218
374
  //# sourceMappingURL=bitcoin-interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-interface.d.ts","sourceRoot":"","sources":["../src/bitcoin-interface.js"],"names":[],"mappings":";AAYA;IACE;;OAeC;IAZG,2EAAqD;IAMrD,qBAAkD;IAClD,iBAAkE;IAGpE,+BAA2D;IAC3D,cAAoD;IAMtD,qCAGC;IAED,6CAGC;IAED,kDAGC;IAED,wCAEC;IAGD,4CAMC;IAKD;;;;;SAkCC;IAED;;;;;;;;;;;;OAoBC;IAED;;;OAMC;IAKD,oDA0BC;IAED,gEAsCC;IAED,uCAMC;IAID,2FAUC;IAGD,8HAiBC;IAGD,gGAcC;IAGD,2DAMC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmBC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmBC;IAED;;;;;;;;;;SAqBC;IAED;;;;;;;;;cAYC;CACF"}
1
+ {"version":3,"file":"bitcoin-interface.d.ts","sourceRoot":"","sources":["../src/bitcoin-interface.ts"],"names":[],"mappings":"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"}
@@ -8,25 +8,27 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
- const { getRpcProvider, getApiProvider } = require("@teleportdao/providers").bitcoin;
12
- const { runWithRetries, sleep } = require("./utils/tools");
13
- const { parseRawTransaction, calculateMerkleProof, parseBlockHeader, extractTransactionsAndBlockInfoFromRawBlock, } = require("./bitcoin-utils");
14
- const { checkAndParseProtocolRequest } = require("./helper/teleport-request-helper");
15
- const { getBurnTransactionInfo } = require("./helper/burn-request-helper");
16
- const BitcoinInterfaceUtils = require("./bitcoin-interface-utils");
17
- class BitcoinInterface extends BitcoinInterfaceUtils {
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.BitcoinInterface = void 0;
13
+ const providers_1 = require("@teleportdao/providers");
14
+ const tools_1 = require("./utils/tools");
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
+ const bitcoin_interface_utils_1 = require("./bitcoin-interface-utils");
19
+ class BitcoinInterface extends bitcoin_interface_utils_1.BitcoinInterfaceUtils {
18
20
  constructor(connectionInfo, networkName, config = { minTeleporterFeeAmount: 0 }) {
19
21
  var _a;
20
22
  super(networkName);
21
23
  if ((_a = connectionInfo.rpc) === null || _a === void 0 ? void 0 : _a.enabled) {
22
- this.rpcProvider = getRpcProvider(connectionInfo.rpc);
24
+ this.rpcProvider = providers_1.bitcoin.getRpcProvider(connectionInfo.rpc);
23
25
  }
24
26
  else if (connectionInfo.api.provider !== "BlockStream") {
25
27
  throw new Error("if rpc is disabled, we just support BlockStream as api provider");
26
28
  }
27
29
  if (connectionInfo.api.enabled) {
28
30
  this.apiProviderName = connectionInfo.api.provider;
29
- this.apiProvider = getApiProvider(connectionInfo.api, networkName);
31
+ this.apiProvider = providers_1.bitcoin.getApiProvider(connectionInfo.api, networkName);
30
32
  }
31
33
  this.minTeleporterFeeAmount = config.minTeleporterFeeAmount;
32
34
  this.provider = this.rpcProvider || this.apiProvider;
@@ -39,13 +41,13 @@ class BitcoinInterface extends BitcoinInterfaceUtils {
39
41
  }
40
42
  getBlockHash(blockNumber) {
41
43
  return __awaiter(this, void 0, void 0, function* () {
42
- let headerHash = yield runWithRetries(() => this.provider.getBlockHash(blockNumber));
44
+ let headerHash = yield (0, tools_1.runWithRetries)(() => this.provider.getBlockHash(blockNumber));
43
45
  return headerHash;
44
46
  });
45
47
  }
46
48
  getBlockHeaderHex(blockNumber) {
47
49
  return __awaiter(this, void 0, void 0, function* () {
48
- let headerHex = yield runWithRetries(() => this.provider.getBlockHeaderHex(blockNumber));
50
+ let headerHex = yield (0, tools_1.runWithRetries)(() => this.provider.getBlockHeaderHex(blockNumber));
49
51
  return headerHex;
50
52
  });
51
53
  }
@@ -72,7 +74,7 @@ class BitcoinInterface extends BitcoinInterfaceUtils {
72
74
  for (let blockNumber = startBlockNumber; blockNumber <= endBlockNumber; blockNumber += 1) {
73
75
  let blockHeader = yield this.getBlockHeaderHex(blockNumber);
74
76
  console.log("block", blockNumber);
75
- let parsedBlockHeader = parseBlockHeader(blockHeader);
77
+ let parsedBlockHeader = (0, bitcoin_utils_1.parseBlockHeader)(blockHeader);
76
78
  if (difficulty && parsedBlockHeader.difficulty !== difficulty) {
77
79
  blockHeaders.push({
78
80
  hexBlockHeaders,
@@ -106,9 +108,9 @@ class BitcoinInterface extends BitcoinInterfaceUtils {
106
108
  if (!(transaction.blockHash && transaction.blockNumber)) {
107
109
  txInfo = yield this.provider.getTransaction(transaction.txId);
108
110
  }
109
- let blockHash = transaction.blockHash || txInfo.blockHash;
110
- let blockNumber = transaction.blockNumber || txInfo.blockNumber;
111
- let parsedTx = parseRawTransaction(transactionHex);
111
+ let blockHash = transaction.blockHash || (txInfo === null || txInfo === void 0 ? void 0 : txInfo.blockHash);
112
+ let blockNumber = transaction.blockNumber || (txInfo === null || txInfo === void 0 ? void 0 : txInfo.blockNumber);
113
+ let parsedTx = (0, bitcoin_utils_1.parseRawTransaction)(transactionHex);
112
114
  let merkleProof = transaction.merkleProof || (yield this.getMerkleProof(transaction.txId, blockHash));
113
115
  return {
114
116
  parsedTx,
@@ -120,15 +122,18 @@ class BitcoinInterface extends BitcoinInterfaceUtils {
120
122
  }
121
123
  getMerkleProof(txId, blockHash) {
122
124
  return __awaiter(this, void 0, void 0, function* () {
123
- let txIds = yield this.provider.getBlockTransactionIds(blockHash);
124
- let proof = calculateMerkleProof(txIds, txId);
125
+ if (!this.rpcProvider) {
126
+ throw new Error("RPC provider not set");
127
+ }
128
+ let txIds = yield this.rpcProvider.getBlockTransactionIds(blockHash);
129
+ let proof = (0, bitcoin_utils_1.calculateMerkleProof)(txIds, txId);
125
130
  return proof;
126
131
  });
127
132
  }
128
133
  getAddressesUtxo(allAddresses) {
129
134
  return __awaiter(this, void 0, void 0, function* () {
130
135
  if (!this.apiProvider) {
131
- throw new Error("this function need an api provider");
136
+ throw new Error("api provider not set");
132
137
  }
133
138
  const chunkOfAddresses = [];
134
139
  const chunkLength = 20;
@@ -175,7 +180,12 @@ class BitcoinInterface extends BitcoinInterfaceUtils {
175
180
  break;
176
181
  }
177
182
  results.push(result
178
- .map((utxos, i) => utxos.map((tx) => (Object.assign(Object.assign({ hash: tx.txId, value: tx.value, index: tx.index }, addressesInfo[i]), { signerInfo: addressesInfo[i] }))))
183
+ .map((utxos, i) => utxos.map((tx) => ({
184
+ hash: tx.txId,
185
+ value: tx.value,
186
+ index: tx.index,
187
+ signerInfo: addressesInfo[i],
188
+ })))
179
189
  .flat(1));
180
190
  }
181
191
  return results.flat(1);
@@ -193,8 +203,11 @@ class BitcoinInterface extends BitcoinInterfaceUtils {
193
203
  }
194
204
  getBlockTransactions(addresses, blockNumber, inputTxIds = []) {
195
205
  return __awaiter(this, void 0, void 0, function* () {
206
+ if (!this.rpcProvider) {
207
+ throw new Error("RPC provider not set");
208
+ }
196
209
  let rawBlockHex = yield this.rpcProvider.getBlockByBlockNumber(blockNumber, 0);
197
- let { withdrawTxs, depositTxs } = extractTransactionsAndBlockInfoFromRawBlock(rawBlockHex, blockNumber, addresses, inputTxIds, this.network);
210
+ let { withdrawTxs, depositTxs } = (0, bitcoin_utils_1.extractTransactionsAndBlockInfoFromRawBlock)(rawBlockHex, blockNumber, addresses, inputTxIds, this.network);
198
211
  return depositTxs.concat(withdrawTxs);
199
212
  });
200
213
  }
@@ -207,7 +220,7 @@ class BitcoinInterface extends BitcoinInterfaceUtils {
207
220
  for (let blockNumber = +startBlockNumber + 1; blockNumber <= endBlockNumber; blockNumber += 1) {
208
221
  const response = this.getBlockTransactions(addresses, blockNumber, inputTxIds);
209
222
  blockTxs.push(response);
210
- yield sleep(200);
223
+ yield (0, tools_1.sleep)(200);
211
224
  }
212
225
  blockTxs = yield Promise.all(blockTxs);
213
226
  return blockTxs.flat(1);
@@ -260,14 +273,15 @@ class BitcoinInterface extends BitcoinInterfaceUtils {
260
273
  let transaction = inputTransaction;
261
274
  if (!transaction.txId)
262
275
  throw new Error("txId not exist");
263
- if (!transaction.vout) {
276
+ if (!(transaction === null || transaction === void 0 ? void 0 : transaction.vout)) {
264
277
  transaction = yield this.getTransaction(transaction.txId);
265
278
  }
266
279
  let vout = transaction.vout;
267
- let request = checkAndParseProtocolRequest(vout, lockerAddress, {
280
+ let request = (0, teleport_request_helper_1.checkAndParseProtocolRequest)(vout, lockerAddress, {
268
281
  minTeleporterFeeAmount: this.minTeleporterFeeAmount,
269
282
  });
270
- let lockerLockingScript = transaction.addressScript || this.convertAddressToScript(lockerAddress).script.toString("hex");
283
+ let lockerLockingScript = transaction.addressScript ||
284
+ this.convertAddressToScript(lockerAddress).script.toString("hex");
271
285
  return {
272
286
  transaction,
273
287
  request,
@@ -303,10 +317,11 @@ class BitcoinInterface extends BitcoinInterfaceUtils {
303
317
  if (!transaction.txId)
304
318
  throw new Error("txId not exist");
305
319
  let vin = transaction.vin || (yield this.getTransaction(transaction.txId)).vin;
306
- let burnInfo = getBurnTransactionInfo(lockerAddress, vin, transaction.vout);
320
+ let burnInfo = (0, burn_request_helper_1.getBurnTransactionInfo)(lockerAddress, vin, transaction.vout);
307
321
  if (!burnInfo)
308
322
  return null;
309
- let lockerLockingScript = transaction.addressScript || this.convertAddressToScript(lockerAddress).script.toString("hex");
323
+ let lockerLockingScript = transaction.addressScript ||
324
+ this.convertAddressToScript(lockerAddress).script.toString("hex");
310
325
  return {
311
326
  burnInfo,
312
327
  lockerAddress,
@@ -315,5 +330,5 @@ class BitcoinInterface extends BitcoinInterfaceUtils {
315
330
  });
316
331
  }
317
332
  }
318
- module.exports = BitcoinInterface;
333
+ exports.BitcoinInterface = BitcoinInterface;
319
334
  //# sourceMappingURL=bitcoin-interface.js.map
@@ -1 +1 @@
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,MAAA,cAAc,CAAC,GAAG,0CAAE,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;IAKK,oBAAoB;;YACxB,IAAI,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAA;YAC7D,OAAO,YAAY,CAAA;QACrB,CAAC;KAAA;IAEK,YAAY,CAAC,WAAW;;YAC5B,IAAI,UAAU,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAA;YACpF,OAAO,UAAU,CAAA;QACnB,CAAC;KAAA;IAEK,iBAAiB,CAAC,WAAW;;YACjC,IAAI,SAAS,GAAG,MAAM,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAA;YACxF,OAAO,SAAS,CAAA;QAClB,CAAC;KAAA;IAEK,cAAc,CAAC,IAAI;;YACvB,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAC3C,CAAC;KAAA;IAGK,UAAU,CAAC,KAAK,GAAG,QAAQ;;YAC/B,IAAI,CAAC,CAAC,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,CAAC,EAAE;gBACjE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;aACnC;YACD,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;YAC/C,OAAO,CAAC,GAAG,CAAA;QACb,CAAC;KAAA;IAKK,kBAAkB,CAAC,gBAAgB,EAAE,cAAc;;YACvD,MAAM,YAAY,GAAG,EAAE,CAAA;YACvB,IAAI,UAAU,GAAG,IAAI,CAAA;YACrB,IAAI,eAAe,GAAG,EAAE,CAAA;YAExB,IAAI,eAAe,GAAG,gBAAgB,CAAA;YACtC,KAAK,IAAI,WAAW,GAAG,gBAAgB,EAAE,WAAW,IAAI,cAAc,EAAE,WAAW,IAAI,CAAC,EAAE;gBACxF,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAA;gBAC3D,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;gBACjC,IAAI,iBAAiB,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAA;gBACrD,IAAI,UAAU,IAAI,iBAAiB,CAAC,UAAU,KAAK,UAAU,EAAE;oBAC7D,YAAY,CAAC,IAAI,CAAC;wBAChB,eAAe;wBACf,eAAe;wBACf,aAAa,EAAE,WAAW,GAAG,CAAC;wBAC9B,UAAU;qBACX,CAAC,CAAA;oBACF,eAAe,GAAG,WAAW,CAAA;oBAC7B,eAAe,GAAG,WAAW,CAAA;iBAC9B;qBAAM;oBACL,eAAe,IAAI,WAAW,CAAA;iBAC/B;gBACD,UAAU,GAAG,iBAAiB,CAAC,UAAU,CAAA;aAC1C;YACD,IAAI,eAAe,EAAE;gBACnB,YAAY,CAAC,IAAI,CAAC;oBAChB,eAAe;oBACf,eAAe;oBACf,aAAa,EAAE,cAAc;oBAC7B,UAAU;iBACX,CAAC,CAAA;aACH;YAED,OAAO,YAAY,CAAA;QACrB,CAAC;KAAA;IAEK,eAAe,CAAC,WAAW;;YAC/B,IAAI,cAAc,GAChB,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;YAE9E,IAAI,MAAM,CAAA;YACV,IAAI,CAAC,CAAC,WAAW,CAAC,SAAS,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE;gBACvD,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;aAC9D;YACD,IAAI,SAAS,GAAG,WAAW,CAAC,SAAS,IAAI,MAAM,CAAC,SAAS,CAAA;YACzD,IAAI,WAAW,GAAG,WAAW,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAA;YAC/D,IAAI,QAAQ,GAAG,mBAAmB,CAAC,cAAc,CAAC,CAAA;YAClD,IAAI,WAAW,GACb,WAAW,CAAC,WAAW,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAA;YAErF,OAAO;gBACL,QAAQ;gBACR,WAAW;gBACX,WAAW;gBACX,SAAS;aACV,CAAA;QACH,CAAC;KAAA;IAEK,cAAc,CAAC,IAAI,EAAE,SAAS;;YAClC,IAAI,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAA;YAEjE,IAAI,KAAK,GAAG,oBAAoB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAA;YAE7C,OAAO,KAAK,CAAA;QACd,CAAC;KAAA;IAKK,gBAAgB,CAAC,YAAY;;YACjC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;aACtD;YACD,MAAM,gBAAgB,GAAG,EAAE,CAAA;YAC3B,MAAM,WAAW,GAAG,EAAE,CAAA;YACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,IAAI,WAAW,EAAE;gBACzD,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAA;gBAClD,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;aAC3B;YAED,IAAI,OAAO,GAAG,EAAE,CAAA;YAEhB,KAAK,IAAI,SAAS,IAAI,gBAAgB,EAAE;gBACtC,MAAM,WAAW,GAAG,EAAE,CAAA;gBACtB,KAAK,IAAI,OAAO,IAAI,SAAS,EAAE;oBAC7B,IAAI,OAAO,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;oBACtD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;iBAC1B;gBACD,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;gBAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC/B,MAAK;iBACN;gBACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;aAC7B;YACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACxB,CAAC;KAAA;IAEK,wBAAwB,CAAC,gBAAgB;;YAC7C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;aACtD;YACD,MAAM,oBAAoB,GAAG,EAAE,CAAA;YAC/B,MAAM,WAAW,GAAG,EAAE,CAAA;YACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,IAAI,WAAW,EAAE;gBAC7D,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,CAAA;gBACtD,oBAAoB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;aAC/B;YAED,IAAI,OAAO,GAAG,EAAE,CAAA;YAEhB,KAAK,IAAI,aAAa,IAAI,oBAAoB,EAAE;gBAC9C,MAAM,WAAW,GAAG,EAAE,CAAA;gBACtB,KAAK,IAAI,IAAI,IAAI,aAAa,EAAE;oBAC9B,IAAI,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;oBACrD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;iBAC1B;gBACD,IAAI,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;gBAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;oBAC/B,MAAK;iBACN;gBACD,OAAO,CAAC,IAAI,CACV,MAAM;qBACH,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAChB,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,+BAChB,IAAI,EAAE,EAAE,CAAC,IAAI,EACb,KAAK,EAAE,EAAE,CAAC,KAAK,EACf,KAAK,EAAE,EAAE,CAAC,KAAK,IACZ,aAAa,CAAC,CAAC,CAAC,KACnB,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC,IAC5B,CAAC,CACJ;qBACA,IAAI,CAAC,CAAC,CAAC,CACX,CAAA;aACF;YACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACxB,CAAC;KAAA;IAEK,UAAU,CAAC,OAAO;;;YACtB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;gBACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;aACtD;YACD,IAAI,KAAK,GAAG,MAAA,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,mCAAI,EAAE,CAAA;YAC5D,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;;KACxD;IAIK,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,GAAG,EAAE;;YAChE,IAAI,WAAW,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,qBAAqB,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;YAC9E,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,2CAA2C,CAC3E,WAAW,EACX,WAAW,EACX,SAAS,EACT,UAAU,EACV,IAAI,CAAC,OAAO,CACb,CAAA;YACD,OAAO,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;QACvC,CAAC;KAAA;IAGK,6BAA6B,CACjC,SAAS,EACT,gBAAgB,EAChB,cAAc,EACd,UAAU,GAAG,EAAE;;YAEf,IAAI,cAAc,GAAG,gBAAgB,GAAG,EAAE,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;aACjE;YACD,IAAI,QAAQ,GAAG,EAAE,CAAA;YACjB,KAAK,IAAI,WAAW,GAAG,CAAC,gBAAgB,GAAG,CAAC,EAAE,WAAW,IAAI,cAAc,EAAE,WAAW,IAAI,CAAC,EAAE;gBAC7F,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAA;gBAC9E,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;gBACvB,MAAM,KAAK,CAAC,GAAG,CAAC,CAAA;aACjB;YACD,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;YACtC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACzB,CAAC;KAAA;IAGK,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,EAAE,cAAc;;YACrE,IAAI,IAAI,CAAC,WAAW,EAAE;gBACpB,IAAI,QAAQ,GAAG,cAAc,IAAI,CAAC,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAA;gBACpE,IAAI,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,gBAAgB,EAAE,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAA;gBAC5D,OAAO,IAAI,CAAC,6BAA6B,CAAC,SAAS,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAA;aAC3E;YACD,IAAI,IAAI,CAAC,eAAe,KAAK,aAAa,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAA;aAC9E;YACD,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,yCAAyC,CACxE,SAAS,EACT,gBAAgB,CACjB,CAAA;YACD,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACpB,CAAC;KAAA;IAGK,4BAA4B,CAAC,SAAS;;YAC1C,IAAI,IAAI,CAAC,eAAe,KAAK,aAAa,EAAE;gBAC1C,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAA;aACvE;YACD,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,gDAAgD,CAAC,SAAS,CAAC,CAAA;YAC5F,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACpB,CAAC;KAAA;IAEK,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,GAAG,KAAK;;YAEtF,IAAI,YAAY,GAAG,OAAO;gBACxB,CAAC,CAAC,MAAM,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC;gBACpD,CAAC,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAA;YAEjF,IAAI,QAAQ,GAAG,EAAE,CAAA;YACjB,IAAI,eAAe,GAAG,EAAE,CAAA;YAExB,KAAK,IAAI,OAAO,IAAI,YAAY,EAAE;gBAChC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAC9D,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,CAAA;gBAC7D,IAAI,OAAO,CAAC,MAAM,EAAE;oBAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC,CAAA;iBAC5E;qBAAM,IAAI,OAAO,CAAC,IAAI,KAAK,cAAc,EAAE;oBAC1C,eAAe,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC,CAAA;iBACnF;aACF;YACD,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;QACtC,CAAC;KAAA;IAEK,sBAAsB,CAAC,gBAAgB,EAAE,aAAa;;YAC1D,IAAI,WAAW,GAAG,gBAAgB,CAAA;YAClC,IAAI,CAAC,WAAW,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;YACxD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;gBACrB,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;aAC1D;YACD,IAAI,IAAI,GAAG,WAAW,CAAC,IAAI,CAAA;YAC3B,IAAI,OAAO,GAAG,4BAA4B,CAAC,IAAI,EAAE,aAAa,EAAE;gBAC9D,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;aACpD,CAAC,CAAA;YACF,IAAI,mBAAmB,GACrB,WAAW,CAAC,aAAa,IAAI,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAEhG,OAAO;gBACL,WAAW;gBACX,OAAO;gBACP,aAAa;gBACb,mBAAmB;aACpB,CAAA;QACH,CAAC;KAAA;IAEK,0BAA0B,CAAC,SAAS,EAAE,gBAAgB,EAAE,cAAc,EAAE,OAAO,GAAG,KAAK;;YAC3F,IAAI,YAAY,GAAG,OAAO;gBACxB,CAAC,CAAC,MAAM,IAAI,CAAC,4BAA4B,CAAC,SAAS,CAAC;gBACpD,CAAC,CAAC,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,gBAAgB,EAAE,cAAc,CAAC,CAAA;YAEjF,IAAI,QAAQ,GAAG,EAAE,CAAA;YACjB,KAAK,IAAI,WAAW,IAAI,YAAY,EAAE;gBACpC,IAAI,OAAO,GAAG,WAAW,CAAC,OAAO,CAAA;gBAEjC,IAAI,UAAU,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;gBAC5E,IAAI,UAAU,EAAE;oBACd,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,mBAAmB,EAAE,GAAG,UAAU,CAAA;oBACnE,QAAQ,CAAC,IAAI,CAAC;wBACZ,WAAW;wBACX,QAAQ;wBACR,aAAa;wBACb,mBAAmB;qBACpB,CAAC,CAAA;iBACH;aACF;YACD,OAAO,QAAQ,CAAA;QACjB,CAAC;KAAA;IAEK,0BAA0B,CAAC,WAAW,EAAE,aAAa;;YACzD,IAAI,CAAC,WAAW,CAAC,IAAI;gBAAE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;YACxD,IAAI,GAAG,GAAG,WAAW,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAA;YAC9E,IAAI,QAAQ,GAAG,sBAAsB,CAAC,aAAa,EAAE,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;YAC3E,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAA;YAC1B,IAAI,mBAAmB,GACrB,WAAW,CAAC,aAAa,IAAI,IAAI,CAAC,sBAAsB,CAAC,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAChG,OAAO;gBACL,QAAQ;gBACR,aAAa;gBACb,mBAAmB;aACpB,CAAA;QACH,CAAC;KAAA;CACF;AAED,MAAM,CAAC,OAAO,GAAG,gBAAgB,CAAA"}
1
+ {"version":3,"file":"bitcoin-interface.js","sourceRoot":"","sources":["../src/bitcoin-interface.ts"],"names":[],"mappings":"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"}