@teleportdao/bitcoin 1.4.3 → 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.
- package/dist/bitcoin-base.d.ts +66 -53
- package/dist/bitcoin-base.d.ts.map +1 -1
- package/dist/bitcoin-base.js +47 -38
- package/dist/bitcoin-base.js.map +1 -1
- package/dist/bitcoin-interface-utils.d.ts +12 -10
- package/dist/bitcoin-interface-utils.d.ts.map +1 -1
- package/dist/bitcoin-interface-utils.js +16 -10
- package/dist/bitcoin-interface-utils.js.map +1 -1
- package/dist/bitcoin-interface.d.ts +206 -50
- package/dist/bitcoin-interface.d.ts.map +1 -1
- package/dist/bitcoin-interface.js +42 -27
- package/dist/bitcoin-interface.js.map +1 -1
- package/dist/bitcoin-utils.d.ts +111 -41
- package/dist/bitcoin-utils.d.ts.map +1 -1
- package/dist/bitcoin-utils.js +215 -156
- package/dist/bitcoin-utils.js.map +1 -1
- package/dist/bundle.js +13 -0
- package/dist/index.d.ts +5 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +32 -12
- package/dist/index.js.map +1 -1
- package/dist/sign/sign-transaction.d.ts +9 -5
- package/dist/sign/sign-transaction.d.ts.map +1 -1
- package/dist/sign/sign-transaction.js +14 -11
- package/dist/sign/sign-transaction.js.map +1 -1
- package/dist/teleport-dao-payments.d.ts +68 -89
- package/dist/teleport-dao-payments.d.ts.map +1 -1
- package/dist/teleport-dao-payments.js +16 -4
- package/dist/teleport-dao-payments.js.map +1 -1
- package/dist/transaction-builder/bitcoin-transaction-builder.d.ts +30 -11
- package/dist/transaction-builder/bitcoin-transaction-builder.d.ts.map +1 -1
- package/dist/transaction-builder/bitcoin-transaction-builder.js +37 -9
- package/dist/transaction-builder/bitcoin-transaction-builder.js.map +1 -1
- package/dist/transaction-builder/transaction-builder.d.ts +198 -9
- package/dist/transaction-builder/transaction-builder.d.ts.map +1 -1
- package/dist/transaction-builder/transaction-builder.js +291 -38
- package/dist/transaction-builder/transaction-builder.js.map +1 -1
- package/dist/utils/networks.d.ts +5 -35
- package/dist/utils/networks.d.ts.map +1 -1
- package/dist/utils/networks.js +26 -2
- package/dist/utils/networks.js.map +1 -1
- package/dist/utils/tools.d.ts +15 -9
- package/dist/utils/tools.d.ts.map +1 -1
- package/dist/utils/tools.js +14 -11
- package/dist/utils/tools.js.map +1 -1
- package/package.json +8 -6
- package/src/{bitcoin-base.js → bitcoin-base.ts} +248 -219
- package/src/{bitcoin-interface-utils.js → bitcoin-interface-utils.ts} +59 -53
- package/src/{bitcoin-interface.js → bitcoin-interface.ts} +420 -350
- package/src/{bitcoin-utils.js → bitcoin-utils.ts} +608 -483
- package/src/helper/teleport-request-helper.js +179 -179
- package/src/index.ts +5 -0
- package/src/sign/sign-transaction.ts +96 -0
- package/src/{teleport-dao-payments.js → teleport-dao-payments.ts} +341 -280
- package/src/transaction-builder/bitcoin-transaction-builder.ts +61 -0
- package/src/transaction-builder/transaction-builder.ts +567 -0
- package/src/utils/{networks.js → networks.ts} +33 -31
- package/src/utils/{tools.js → tools.ts} +80 -72
- package/tsconfig.json +10 -9
- package/webpack.config.js +16 -0
- package/dist/transaction-builder/transaction-builder-common.d.ts +0 -57
- package/dist/transaction-builder/transaction-builder-common.d.ts.map +0 -1
- package/dist/transaction-builder/transaction-builder-common.js +0 -183
- package/dist/transaction-builder/transaction-builder-common.js.map +0 -1
- package/src/index.js +0 -15
- package/src/sign/sign-transaction.js +0 -36
- package/src/transaction-builder/bitcoin-transaction-builder.js +0 -37
- package/src/transaction-builder/transaction-builder-common.js +0 -236
- package/src/transaction-builder/transaction-builder.js +0 -159
|
@@ -1,51 +1,176 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
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:
|
|
13
|
-
getBlockHeaderHex(blockNumber:
|
|
14
|
-
getTransaction(txId:
|
|
15
|
-
|
|
16
|
-
|
|
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:
|
|
19
|
-
toBlockNumber:
|
|
20
|
-
difficulty:
|
|
29
|
+
fromBlockNumber: number;
|
|
30
|
+
toBlockNumber: number;
|
|
31
|
+
difficulty: string | null;
|
|
21
32
|
}[]>;
|
|
22
|
-
getRequestProof(transaction:
|
|
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:
|
|
25
|
-
flag:
|
|
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:
|
|
32
|
-
|
|
33
|
-
|
|
51
|
+
merkleProof: {
|
|
52
|
+
intermediateNodes: string;
|
|
53
|
+
transactionIndex: number;
|
|
54
|
+
};
|
|
55
|
+
blockNumber: number;
|
|
56
|
+
blockHash: string;
|
|
34
57
|
}>;
|
|
35
|
-
getMerkleProof(txId:
|
|
36
|
-
intermediateNodes:
|
|
37
|
-
transactionIndex:
|
|
58
|
+
getMerkleProof(txId: string, blockHash: string): Promise<{
|
|
59
|
+
intermediateNodes: string;
|
|
60
|
+
transactionIndex: number;
|
|
38
61
|
}>;
|
|
39
|
-
getAddressesUtxo(allAddresses:
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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:
|
|
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:
|
|
94
|
-
lockerLockingScript:
|
|
218
|
+
lockerAddress: string;
|
|
219
|
+
lockerLockingScript: string;
|
|
95
220
|
}[];
|
|
96
221
|
invalidRequests: {
|
|
97
|
-
transaction:
|
|
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:
|
|
143
|
-
lockerLockingScript:
|
|
276
|
+
lockerAddress: string;
|
|
277
|
+
lockerLockingScript: string;
|
|
144
278
|
}[];
|
|
145
279
|
}>;
|
|
146
|
-
getTeleportRequestByTx(inputTransaction:
|
|
147
|
-
|
|
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:
|
|
193
|
-
lockerLockingScript:
|
|
344
|
+
lockerAddress: string;
|
|
345
|
+
lockerLockingScript: string;
|
|
194
346
|
}>;
|
|
195
|
-
getLockersBurnTransactions(addresses:
|
|
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:
|
|
204
|
-
lockerLockingScript:
|
|
355
|
+
lockerAddress: string;
|
|
356
|
+
lockerLockingScript: string;
|
|
205
357
|
}[]>;
|
|
206
|
-
getTransactionBurnInfoByTx(transaction:
|
|
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:
|
|
214
|
-
lockerLockingScript:
|
|
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.
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
const
|
|
17
|
-
|
|
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
|
-
|
|
124
|
-
|
|
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("
|
|
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) => (
|
|
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 ||
|
|
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 ||
|
|
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
|
-
|
|
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":"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"}
|
|
1
|
+
{"version":3,"file":"bitcoin-interface.js","sourceRoot":"","sources":["../src/bitcoin-interface.ts"],"names":[],"mappings":"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"}
|