@teleportdao/bitcoin 1.1.0 → 1.1.3-alpha.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.
- package/dist/bitcoin-interface-utils.d.ts +2 -1
- package/dist/bitcoin-interface-utils.d.ts.map +1 -1
- package/dist/bitcoin-interface-utils.js +9 -1
- package/dist/bitcoin-interface-utils.js.map +1 -1
- package/dist/bitcoin-interface.d.ts +62 -0
- package/dist/bitcoin-interface.d.ts.map +1 -1
- package/dist/bitcoin-interface.js +40 -11
- package/dist/bitcoin-interface.js.map +1 -1
- package/dist/helper/teleport-request-helper.d.ts +2 -0
- package/dist/helper/teleport-request-helper.d.ts.map +1 -1
- package/dist/helper/teleport-request-helper.js +9 -5
- package/dist/helper/teleport-request-helper.js.map +1 -1
- package/package.json +2 -2
- package/src/bitcoin-interface-utils.js +11 -0
- package/src/bitcoin-interface.js +41 -14
- package/src/helper/teleport-request-helper.js +21 -5
|
@@ -3,7 +3,8 @@ declare class BitcoinInterfaceUtils {
|
|
|
3
3
|
constructor(networkName: any);
|
|
4
4
|
testnet: any;
|
|
5
5
|
network: any;
|
|
6
|
-
convertHashToAddress(hashHex: any, addressType: any): string
|
|
6
|
+
convertHashToAddress(hashHex: any, addressType: any): string;
|
|
7
|
+
convertScriptToAddress(scriptHex: any, addressType: any): string;
|
|
7
8
|
convertAddressToScript(address: any): {
|
|
8
9
|
script: Buffer | undefined;
|
|
9
10
|
hash: Buffer | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitcoin-interface-utils.d.ts","sourceRoot":"","sources":["../src/bitcoin-interface-utils.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"bitcoin-interface-utils.d.ts","sourceRoot":"","sources":["../src/bitcoin-interface-utils.js"],"names":[],"mappings":";AAQA;IACE,8BAGC;IAFC,aAA+C;IAC/C,aAAoC;IAGtC,6DAOC;IAED,iEAOC;IAED;;;;MAOC;IAED;;;MAGC;IAED,gGAGC;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
const networks = require("./utils/networks");
|
|
3
|
-
const { createAddressObjectByHash, createAddressObjectByAddress, createAddressObjectByPublicKey, } = require("./bitcoin-utils");
|
|
3
|
+
const { createAddressObjectByHash, createAddressObjectByAddress, createAddressObjectByPublicKey, createAddressObjectByScript, } = require("./bitcoin-utils");
|
|
4
4
|
class BitcoinInterfaceUtils {
|
|
5
5
|
constructor(networkName) {
|
|
6
6
|
this.testnet = networkName.includes("_testnet");
|
|
@@ -8,6 +8,14 @@ class BitcoinInterfaceUtils {
|
|
|
8
8
|
}
|
|
9
9
|
convertHashToAddress(hashHex, addressType) {
|
|
10
10
|
let addressObj = createAddressObjectByHash({ addressType, hash: Buffer.from(hashHex, "hex") }, this.network);
|
|
11
|
+
if (!addressObj.address)
|
|
12
|
+
throw new Error("incorrect input");
|
|
13
|
+
return addressObj.address;
|
|
14
|
+
}
|
|
15
|
+
convertScriptToAddress(scriptHex, addressType) {
|
|
16
|
+
let addressObj = createAddressObjectByScript({ addressType, script: Buffer.from(scriptHex, "hex") }, this.network);
|
|
17
|
+
if (!addressObj.address)
|
|
18
|
+
throw new Error("incorrect input");
|
|
11
19
|
return addressObj.address;
|
|
12
20
|
}
|
|
13
21
|
convertAddressToScript(address) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitcoin-interface-utils.js","sourceRoot":"","sources":["../src/bitcoin-interface-utils.js"],"names":[],"mappings":";AAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;AAC5C,MAAM,EACJ,yBAAyB,EACzB,4BAA4B,EAC5B,8BAA8B,
|
|
1
|
+
{"version":3,"file":"bitcoin-interface-utils.js","sourceRoot":"","sources":["../src/bitcoin-interface-utils.js"],"names":[],"mappings":";AAAA,MAAM,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAA;AAC5C,MAAM,EACJ,yBAAyB,EACzB,4BAA4B,EAC5B,8BAA8B,EAC9B,2BAA2B,GAC5B,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;AAE9B,MAAM,qBAAqB;IACzB,YAAY,WAAW;QACrB,IAAI,CAAC,OAAO,GAAG,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAA;QAC/C,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAA;IACtC,CAAC;IAED,oBAAoB,CAAC,OAAO,EAAE,WAAW;QACvC,IAAI,UAAU,GAAG,yBAAyB,CACxC,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,EAClD,IAAI,CAAC,OAAO,CACb,CAAA;QACD,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAC3D,OAAO,UAAU,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED,sBAAsB,CAAC,SAAS,EAAE,WAAW;QAC3C,IAAI,UAAU,GAAG,2BAA2B,CAC1C,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE,EACtD,IAAI,CAAC,OAAO,CACb,CAAA;QACD,IAAI,CAAC,UAAU,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAC3D,OAAO,UAAU,CAAC,OAAO,CAAA;IAC3B,CAAC;IAED,sBAAsB,CAAC,OAAO;QAC5B,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,4BAA4B,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACxF,OAAO;YACL,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,IAAI,EAAE,aAAa,CAAC,IAAI;YACxB,WAAW;SACZ,CAAA;IACH,CAAC;IAED,sBAAsB,CAAC,OAAO;QAC5B,IAAI,MAAM,GAAG,4BAA4B,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QAChE,OAAO,MAAM,CAAA;IACf,CAAC;IAED,8BAA8B,CAAC,OAAO,EAAE,WAAW;QACjD,IAAI,MAAM,GAAG,8BAA8B,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,IAAI,CAAC,OAAO,CAAC,CAAA;QACnF,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,MAAM,CAAC,OAAO,GAAG,qBAAqB,CAAA"}
|
|
@@ -84,7 +84,9 @@ declare class BitcoinInterface extends BitcoinInterfaceUtils {
|
|
|
84
84
|
} | {
|
|
85
85
|
status: boolean;
|
|
86
86
|
data: any;
|
|
87
|
+
requestOutputIndex: any;
|
|
87
88
|
value: any;
|
|
89
|
+
valueOutputIndex: any;
|
|
88
90
|
message?: undefined;
|
|
89
91
|
code?: undefined;
|
|
90
92
|
};
|
|
@@ -131,7 +133,9 @@ declare class BitcoinInterface extends BitcoinInterfaceUtils {
|
|
|
131
133
|
} | {
|
|
132
134
|
status: boolean;
|
|
133
135
|
data: any;
|
|
136
|
+
requestOutputIndex: any;
|
|
134
137
|
value: any;
|
|
138
|
+
valueOutputIndex: any;
|
|
135
139
|
message?: undefined;
|
|
136
140
|
code?: undefined;
|
|
137
141
|
};
|
|
@@ -139,6 +143,54 @@ declare class BitcoinInterface extends BitcoinInterfaceUtils {
|
|
|
139
143
|
lockerLockingScript: any;
|
|
140
144
|
}[];
|
|
141
145
|
}>;
|
|
146
|
+
getTeleportRequestByTx(transaction: any, lockerAddress: any): Promise<{
|
|
147
|
+
request: {
|
|
148
|
+
status: boolean;
|
|
149
|
+
data: {
|
|
150
|
+
requestType: string;
|
|
151
|
+
chainId: number;
|
|
152
|
+
appId: number;
|
|
153
|
+
recipientAddress: string;
|
|
154
|
+
percentageFee: number;
|
|
155
|
+
speed: boolean;
|
|
156
|
+
exchangeTokenAddress: string;
|
|
157
|
+
outputAmount: number;
|
|
158
|
+
deadline: number;
|
|
159
|
+
isFixedToken: boolean;
|
|
160
|
+
};
|
|
161
|
+
message?: undefined;
|
|
162
|
+
code?: undefined;
|
|
163
|
+
} | {
|
|
164
|
+
status: boolean;
|
|
165
|
+
message: string;
|
|
166
|
+
code: string;
|
|
167
|
+
data?: undefined;
|
|
168
|
+
} | {
|
|
169
|
+
status: boolean;
|
|
170
|
+
data: {
|
|
171
|
+
requestType: string;
|
|
172
|
+
chainId: number;
|
|
173
|
+
appId: number;
|
|
174
|
+
recipientAddress: string;
|
|
175
|
+
percentageFee: number;
|
|
176
|
+
mode: number;
|
|
177
|
+
tokenAddress: string;
|
|
178
|
+
borrowAmount: number;
|
|
179
|
+
};
|
|
180
|
+
message?: undefined;
|
|
181
|
+
code?: undefined;
|
|
182
|
+
} | {
|
|
183
|
+
status: boolean;
|
|
184
|
+
data: any;
|
|
185
|
+
requestOutputIndex: any;
|
|
186
|
+
value: any;
|
|
187
|
+
valueOutputIndex: any;
|
|
188
|
+
message?: undefined;
|
|
189
|
+
code?: undefined;
|
|
190
|
+
};
|
|
191
|
+
lockerAddress: any;
|
|
192
|
+
lockerLockingScript: any;
|
|
193
|
+
}>;
|
|
142
194
|
getLockersBurnTransactions(addresses: any, startBlockNumber: any, endBlockNumber: any, mempool?: boolean): Promise<{
|
|
143
195
|
transaction: any;
|
|
144
196
|
burnInfo: {
|
|
@@ -150,6 +202,16 @@ declare class BitcoinInterface extends BitcoinInterfaceUtils {
|
|
|
150
202
|
lockerAddress: any;
|
|
151
203
|
lockerLockingScript: any;
|
|
152
204
|
}[]>;
|
|
205
|
+
getTransactionBurnInfoByTx(transaction: any, lockerAddress: any): Promise<{
|
|
206
|
+
burnInfo: {
|
|
207
|
+
receivers: any[];
|
|
208
|
+
changes: any[];
|
|
209
|
+
totalInputValue: any;
|
|
210
|
+
lockerVin: any;
|
|
211
|
+
};
|
|
212
|
+
lockerAddress: any;
|
|
213
|
+
lockerLockingScript: any;
|
|
214
|
+
} | null>;
|
|
153
215
|
}
|
|
154
216
|
import BitcoinInterfaceUtils = require("./bitcoin-interface-utils");
|
|
155
217
|
//# 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,yCAMC;IAKD;;;;;SAkCC;IAED;;;;;;;;;;;;OAoBC;IAED;;;OAMC;IAKD,kDA0BC;IAED,8DAqCC;IAED,uCAMC;IAID,2FAUC;IAGD,4HAiBC;IAGD,gGAcC;IAGD,2DAMC;IAED
|
|
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,yCAMC;IAKD;;;;;SAkCC;IAED;;;;;;;;;;;;OAoBC;IAED;;;OAMC;IAKD,kDA0BC;IAED,8DAqCC;IAED,uCAMC;IAID,2FAUC;IAGD,4HAiBC;IAGD,gGAcC;IAGD,2DAMC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsBC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAcC;IAED;;;;;;;;;;SAsBC;IAED;;;;;;;;;cAYC;CACF"}
|
|
@@ -246,20 +246,33 @@ class BitcoinInterface extends BitcoinInterfaceUtils {
|
|
|
246
246
|
for (let transaction of transactions) {
|
|
247
247
|
console.log(`received tx to check for teleport: ${transaction.txId}`);
|
|
248
248
|
let address = transaction.address;
|
|
249
|
-
let request =
|
|
250
|
-
minTeleporterFeeAmount: this.minTeleporterFeeAmount,
|
|
251
|
-
});
|
|
252
|
-
let lockerLockingScript = transaction.addressScript || this.convertAddressToScript(address).script.toString("hex");
|
|
249
|
+
let { request, lockerAddress, lockerLockingScript } = yield this.getTeleportRequestByTx(transaction, address);
|
|
253
250
|
if (request.status) {
|
|
254
|
-
requests.push({ transaction, request, lockerAddress
|
|
251
|
+
requests.push({ transaction, request, lockerAddress, lockerLockingScript });
|
|
255
252
|
}
|
|
256
253
|
else if (request.code !== "NO_OP_RETURN") {
|
|
257
|
-
invalidRequests.push({ transaction, request, lockerAddress
|
|
254
|
+
invalidRequests.push({ transaction, request, lockerAddress, lockerLockingScript });
|
|
258
255
|
}
|
|
259
256
|
}
|
|
260
257
|
return { requests, invalidRequests };
|
|
261
258
|
});
|
|
262
259
|
}
|
|
260
|
+
getTeleportRequestByTx(transaction, lockerAddress) {
|
|
261
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
262
|
+
if (!transaction.txId)
|
|
263
|
+
throw new Error("txId not exist");
|
|
264
|
+
let vout = transaction.vout || (yield this.getTransaction(transaction.txId)).vout;
|
|
265
|
+
let request = checkAndParseProtocolRequest(vout, lockerAddress, {
|
|
266
|
+
minTeleporterFeeAmount: this.minTeleporterFeeAmount,
|
|
267
|
+
});
|
|
268
|
+
let lockerLockingScript = transaction.addressScript || this.convertAddressToScript(lockerAddress).script.toString("hex");
|
|
269
|
+
return {
|
|
270
|
+
request,
|
|
271
|
+
lockerAddress,
|
|
272
|
+
lockerLockingScript,
|
|
273
|
+
};
|
|
274
|
+
});
|
|
275
|
+
}
|
|
263
276
|
getLockersBurnTransactions(addresses, startBlockNumber, endBlockNumber, mempool = false) {
|
|
264
277
|
return __awaiter(this, void 0, void 0, function* () {
|
|
265
278
|
let transactions = mempool
|
|
@@ -269,20 +282,36 @@ class BitcoinInterface extends BitcoinInterfaceUtils {
|
|
|
269
282
|
for (let transaction of transactions) {
|
|
270
283
|
let address = transaction.address;
|
|
271
284
|
console.log(`received tx to check burn: ${transaction.txId}`);
|
|
272
|
-
let
|
|
273
|
-
if (
|
|
285
|
+
let txBurnInfo = yield this.getTransactionBurnInfoByTx(transaction, address);
|
|
286
|
+
if (txBurnInfo) {
|
|
287
|
+
const { burnInfo, lockerAddress, lockerLockingScript } = txBurnInfo;
|
|
274
288
|
validTxs.push({
|
|
275
289
|
transaction,
|
|
276
290
|
burnInfo,
|
|
277
|
-
lockerAddress
|
|
278
|
-
lockerLockingScript
|
|
279
|
-
this.convertAddressToScript(address).script.toString("hex"),
|
|
291
|
+
lockerAddress,
|
|
292
|
+
lockerLockingScript,
|
|
280
293
|
});
|
|
281
294
|
}
|
|
282
295
|
}
|
|
283
296
|
return validTxs;
|
|
284
297
|
});
|
|
285
298
|
}
|
|
299
|
+
getTransactionBurnInfoByTx(transaction, lockerAddress) {
|
|
300
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
301
|
+
if (!transaction.txId)
|
|
302
|
+
throw new Error("txId not exist");
|
|
303
|
+
let vin = transaction.vin || (yield this.getTransaction(transaction.txId)).vin;
|
|
304
|
+
let burnInfo = getBurnTransactionInfo(lockerAddress, vin, transaction.vout);
|
|
305
|
+
if (!burnInfo)
|
|
306
|
+
return null;
|
|
307
|
+
let lockerLockingScript = transaction.addressScript || this.convertAddressToScript(lockerAddress).script.toString("hex");
|
|
308
|
+
return {
|
|
309
|
+
burnInfo,
|
|
310
|
+
lockerAddress,
|
|
311
|
+
lockerLockingScript,
|
|
312
|
+
};
|
|
313
|
+
});
|
|
314
|
+
}
|
|
286
315
|
}
|
|
287
316
|
module.exports = BitcoinInterface;
|
|
288
317
|
//# 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.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teleport-request-helper.d.ts","sourceRoot":"","sources":["../../src/helper/teleport-request-helper.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"teleport-request-helper.d.ts","sourceRoot":"","sources":["../../src/helper/teleport-request-helper.js"],"names":[],"mappings":"AAsJA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBC"}
|
|
@@ -90,7 +90,7 @@ function parseRawRequest(opReturnData) {
|
|
|
90
90
|
};
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
|
-
function validateRequestAndValue(data, value, { minTeleporterFeeAmount = 0 }) {
|
|
93
|
+
function validateRequestAndValue(data, requestOutputIndex, value, valueOutputIndex, { minTeleporterFeeAmount = 0 }) {
|
|
94
94
|
if (!data) {
|
|
95
95
|
return {
|
|
96
96
|
status: false,
|
|
@@ -115,17 +115,21 @@ function validateRequestAndValue(data, value, { minTeleporterFeeAmount = 0 }) {
|
|
|
115
115
|
return {
|
|
116
116
|
status: true,
|
|
117
117
|
data,
|
|
118
|
+
requestOutputIndex,
|
|
118
119
|
value,
|
|
120
|
+
valueOutputIndex,
|
|
119
121
|
};
|
|
120
122
|
}
|
|
121
123
|
function checkAndParseProtocolRequest(vouts, address, config = { minTeleporterFeeAmount: 0 }) {
|
|
122
124
|
var _a, _b;
|
|
123
|
-
let
|
|
124
|
-
if (
|
|
125
|
-
let
|
|
125
|
+
let requestOutputIndex = vouts.findIndex((vout_) => vout_.script.startsWith("6a"));
|
|
126
|
+
if (requestOutputIndex >= 0) {
|
|
127
|
+
let opReturnData = ((_a = vouts[requestOutputIndex]) === null || _a === void 0 ? void 0 : _a.script) || null;
|
|
128
|
+
let valueOutputIndex = ((_b = vouts.findIndex((vout_) => vout_.address === address)) === null || _b === void 0 ? void 0 : _b.value) || 0;
|
|
129
|
+
let value = valueOutputIndex >= 0 ? vouts[valueOutputIndex].value || 0 : 0;
|
|
126
130
|
let dataResponse = parseRawRequest(opReturnData);
|
|
127
131
|
if (dataResponse.status) {
|
|
128
|
-
return validateRequestAndValue(dataResponse.data, value, config);
|
|
132
|
+
return validateRequestAndValue(dataResponse.data, requestOutputIndex, value, valueOutputIndex, config);
|
|
129
133
|
}
|
|
130
134
|
return dataResponse;
|
|
131
135
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teleport-request-helper.js","sourceRoot":"","sources":["../../src/helper/teleport-request-helper.js"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"teleport-request-helper.js","sourceRoot":"","sources":["../../src/helper/teleport-request-helper.js"],"names":[],"mappings":";AAAA,MAAM,EAAE,YAAY,EAAE,oBAAoB,EAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC,QAAQ,CAAA;AAEvF,SAAS,+BAA+B,CAAC,IAAI;IAC3C,IAAI,UAAU,GAAG,EAAE,CAAA;IACnB,UAAU,CAAC,WAAW,GAAG,UAAU,CAAA;IAEnC,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACrE,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACnE,UAAU,CAAC,gBAAgB,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;IACvE,UAAU,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;IACjF,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IAC7D,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;QAC1B,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,UAAU;SACjB,CAAA;KACF;IAED,UAAU,CAAC,WAAW,GAAG,UAAU,CAAA;IACnC,UAAU,CAAC,oBAAoB,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;IAC3E,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;IAC3E,UAAU,CAAC,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACtE,UAAU,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IACpE,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;QAC1B,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,UAAU;SACjB,CAAA;KACF;IAED,OAAO;QACL,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,yFAAyF,IAAI,CAAC,MAAM,qBAAqB,MAAM,EAAE;QAC1I,IAAI,EAAE,mBAAmB;KAC1B,CAAA;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,IAAI;IACrC,IAAI,UAAU,GAAG,EAAE,CAAA;IACnB,UAAU,CAAC,WAAW,GAAG,MAAM,CAAA;IAE/B,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACrE,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACnE,UAAU,CAAC,gBAAgB,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;IACvE,UAAU,CAAC,aAAa,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAA;IACjF,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAClE,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;QAC1B,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,UAAU;SACjB,CAAA;KACF;IACD,UAAU,CAAC,WAAW,GAAG,QAAQ,CAAA;IACjC,UAAU,CAAC,YAAY,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,CAAA;IACnE,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;IAC3E,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE;QAC1B,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,IAAI,EAAE,UAAU;SACjB,CAAA;KACF;IACD,OAAO;QACL,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,mFAAmF,IAAI,CAAC,MAAM,qBAAqB,MAAM,EAAE;QACpI,IAAI,EAAE,mBAAmB;KAC1B,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,YAAY;;IACnC,IAAI,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAG5F,IAAI,QAAQ,GAAG,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;IAC9C,IAAI,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC/B,IAAI,CAAC,QAAQ,EAAE;QACb,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,4BAA4B,IAAI,EAAE;YAC3C,IAAI,EAAE,gBAAgB;SACvB,CAAA;KACF;IAED,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC,CAAA;IAGnC,IAAI,WAAW,GAAG,MAAA,oBAAoB,CAAC,IAAI,CACzC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAC/D,0CAAE,IAAI,CAAA;IAEP,QAAQ,WAAW,EAAE;QACnB,KAAK,UAAU,CAAC;QAChB,KAAK,UAAU;YACb,OAAO,+BAA+B,CAAC,IAAI,CAAC,CAAA;QAC9C,KAAK,MAAM;YACT,OAAO,yBAAyB,CAAC,IAAI,CAAC,CAAA;QACxC;YACE,OAAO;gBACL,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,mBAAmB,KAAK,EAAE;gBACnC,IAAI,EAAE,mBAAmB;aAC1B,CAAA;KACJ;AACH,CAAC;AAED,SAAS,uBAAuB,CAC9B,IAAI,EACJ,kBAAkB,EAClB,KAAK,EACL,gBAAgB,EAChB,EAAE,sBAAsB,GAAG,CAAC,EAAE;IAE9B,IAAI,CAAC,IAAI,EAAE;QACT,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,2CAA2C;YACpD,IAAI,EAAE,4BAA4B;SACnC,CAAA;KACF;IAED,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,GAAG,EAAE;QAC7B,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,6DAA6D,IAAI,CAAC,aAAa,EAAE;YAC1F,IAAI,EAAE,aAAa;SACpB,CAAA;KACF;IAED,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,sBAAsB,EAAE;QACjE,OAAO;YACL,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,iFACP,IAAI,CAAC,aACP,aAAa,KAAK,iBAAiB,CAAC,CAAC,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,CAC9E,CAAC,CACF,kBAAkB,sBAAsB,EAAE;YAC3C,IAAI,EAAE,4BAA4B;SACnC,CAAA;KACF;IAED,OAAO;QACL,MAAM,EAAE,IAAI;QACZ,IAAI;QACJ,kBAAkB;QAClB,KAAK;QACL,gBAAgB;KACjB,CAAA;AACH,CAAC;AAED,SAAS,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,GAAG,EAAE,sBAAsB,EAAE,CAAC,EAAE;;IAC1F,IAAI,kBAAkB,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAA;IAClF,IAAI,kBAAkB,IAAI,CAAC,EAAE;QAC3B,IAAI,YAAY,GAAG,CAAA,MAAA,KAAK,CAAC,kBAAkB,CAAC,0CAAE,MAAM,KAAI,IAAI,CAAA;QAC5D,IAAI,gBAAgB,GAAG,CAAA,MAAA,KAAK,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,0CAAE,KAAK,KAAI,CAAC,CAAA;QACxF,IAAI,KAAK,GAAG,gBAAgB,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1E,IAAI,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC,CAAA;QAChD,IAAI,YAAY,CAAC,MAAM,EAAE;YACvB,OAAO,uBAAuB,CAC5B,YAAY,CAAC,IAAI,EACjB,kBAAkB,EAClB,KAAK,EACL,gBAAgB,EAChB,MAAM,CACP,CAAA;SACF;QACD,OAAO,YAAY,CAAA;KACpB;IACD,OAAO;QACL,MAAM,EAAE,KAAK;QACb,OAAO,EAAE,8CAA8C;QACvD,IAAI,EAAE,cAAc;KACrB,CAAA;AACH,CAAC;AAED,MAAM,CAAC,OAAO,GAAG;IACf,4BAA4B;CAC7B,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teleportdao/bitcoin",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.3-alpha.1",
|
|
4
4
|
"description": "provider for different networks",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -30,5 +30,5 @@
|
|
|
30
30
|
"publishConfig": {
|
|
31
31
|
"access": "public"
|
|
32
32
|
},
|
|
33
|
-
"gitHead": "
|
|
33
|
+
"gitHead": "1eb891fb8dd5e7b878574edaaa05288f64d8783b"
|
|
34
34
|
}
|
|
@@ -3,6 +3,7 @@ const {
|
|
|
3
3
|
createAddressObjectByHash,
|
|
4
4
|
createAddressObjectByAddress,
|
|
5
5
|
createAddressObjectByPublicKey,
|
|
6
|
+
createAddressObjectByScript,
|
|
6
7
|
} = require("./bitcoin-utils")
|
|
7
8
|
|
|
8
9
|
class BitcoinInterfaceUtils {
|
|
@@ -16,6 +17,16 @@ class BitcoinInterfaceUtils {
|
|
|
16
17
|
{ addressType, hash: Buffer.from(hashHex, "hex") },
|
|
17
18
|
this.network,
|
|
18
19
|
)
|
|
20
|
+
if (!addressObj.address) throw new Error("incorrect input")
|
|
21
|
+
return addressObj.address
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
convertScriptToAddress(scriptHex, addressType) {
|
|
25
|
+
let addressObj = createAddressObjectByScript(
|
|
26
|
+
{ addressType, script: Buffer.from(scriptHex, "hex") },
|
|
27
|
+
this.network,
|
|
28
|
+
)
|
|
29
|
+
if (!addressObj.address) throw new Error("incorrect input")
|
|
19
30
|
return addressObj.address
|
|
20
31
|
}
|
|
21
32
|
|
package/src/bitcoin-interface.js
CHANGED
|
@@ -276,22 +276,36 @@ class BitcoinInterface extends BitcoinInterfaceUtils {
|
|
|
276
276
|
let invalidRequests = []
|
|
277
277
|
for (let transaction of transactions) {
|
|
278
278
|
console.log(`received tx to check for teleport: ${transaction.txId}`)
|
|
279
|
-
|
|
280
279
|
let address = transaction.address
|
|
281
|
-
let request =
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
transaction.addressScript || this.convertAddressToScript(address).script.toString("hex")
|
|
280
|
+
let { request, lockerAddress, lockerLockingScript } = await this.getTeleportRequestByTx(
|
|
281
|
+
transaction,
|
|
282
|
+
address,
|
|
283
|
+
)
|
|
286
284
|
if (request.status) {
|
|
287
|
-
requests.push({ transaction, request, lockerAddress
|
|
285
|
+
requests.push({ transaction, request, lockerAddress, lockerLockingScript })
|
|
288
286
|
} else if (request.code !== "NO_OP_RETURN") {
|
|
289
|
-
invalidRequests.push({ transaction, request, lockerAddress
|
|
287
|
+
invalidRequests.push({ transaction, request, lockerAddress, lockerLockingScript })
|
|
290
288
|
}
|
|
291
289
|
}
|
|
292
290
|
return { requests, invalidRequests }
|
|
293
291
|
}
|
|
294
292
|
|
|
293
|
+
async getTeleportRequestByTx(transaction, lockerAddress) {
|
|
294
|
+
if (!transaction.txId) throw new Error("txId not exist")
|
|
295
|
+
let vout = transaction.vout || (await this.getTransaction(transaction.txId)).vout
|
|
296
|
+
let request = checkAndParseProtocolRequest(vout, lockerAddress, {
|
|
297
|
+
minTeleporterFeeAmount: this.minTeleporterFeeAmount,
|
|
298
|
+
})
|
|
299
|
+
let lockerLockingScript =
|
|
300
|
+
transaction.addressScript || this.convertAddressToScript(lockerAddress).script.toString("hex")
|
|
301
|
+
|
|
302
|
+
return {
|
|
303
|
+
request,
|
|
304
|
+
lockerAddress,
|
|
305
|
+
lockerLockingScript,
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
|
|
295
309
|
async getLockersBurnTransactions(addresses, startBlockNumber, endBlockNumber, mempool = false) {
|
|
296
310
|
let transactions = mempool
|
|
297
311
|
? await this.getMempoolTransactionHistory(addresses)
|
|
@@ -302,20 +316,33 @@ class BitcoinInterface extends BitcoinInterfaceUtils {
|
|
|
302
316
|
let address = transaction.address
|
|
303
317
|
console.log(`received tx to check burn: ${transaction.txId}`)
|
|
304
318
|
// check if its a transaction to spend btc
|
|
305
|
-
let
|
|
306
|
-
if (
|
|
319
|
+
let txBurnInfo = await this.getTransactionBurnInfoByTx(transaction, address)
|
|
320
|
+
if (txBurnInfo) {
|
|
321
|
+
const { burnInfo, lockerAddress, lockerLockingScript } = txBurnInfo
|
|
307
322
|
validTxs.push({
|
|
308
323
|
transaction,
|
|
309
324
|
burnInfo,
|
|
310
|
-
lockerAddress
|
|
311
|
-
lockerLockingScript
|
|
312
|
-
transaction.addressScript ||
|
|
313
|
-
this.convertAddressToScript(address).script.toString("hex"),
|
|
325
|
+
lockerAddress,
|
|
326
|
+
lockerLockingScript,
|
|
314
327
|
})
|
|
315
328
|
}
|
|
316
329
|
}
|
|
317
330
|
return validTxs
|
|
318
331
|
}
|
|
332
|
+
|
|
333
|
+
async getTransactionBurnInfoByTx(transaction, lockerAddress) {
|
|
334
|
+
if (!transaction.txId) throw new Error("txId not exist")
|
|
335
|
+
let vin = transaction.vin || (await this.getTransaction(transaction.txId)).vin
|
|
336
|
+
let burnInfo = getBurnTransactionInfo(lockerAddress, vin, transaction.vout)
|
|
337
|
+
if (!burnInfo) return null
|
|
338
|
+
let lockerLockingScript =
|
|
339
|
+
transaction.addressScript || this.convertAddressToScript(lockerAddress).script.toString("hex")
|
|
340
|
+
return {
|
|
341
|
+
burnInfo,
|
|
342
|
+
lockerAddress,
|
|
343
|
+
lockerLockingScript,
|
|
344
|
+
}
|
|
345
|
+
}
|
|
319
346
|
}
|
|
320
347
|
|
|
321
348
|
module.exports = BitcoinInterface
|
|
@@ -104,7 +104,13 @@ function parseRawRequest(opReturnData) {
|
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
function validateRequestAndValue(
|
|
107
|
+
function validateRequestAndValue(
|
|
108
|
+
data,
|
|
109
|
+
requestOutputIndex,
|
|
110
|
+
value,
|
|
111
|
+
valueOutputIndex,
|
|
112
|
+
{ minTeleporterFeeAmount = 0 },
|
|
113
|
+
) {
|
|
108
114
|
if (!data) {
|
|
109
115
|
return {
|
|
110
116
|
status: false,
|
|
@@ -136,17 +142,27 @@ function validateRequestAndValue(data, value, { minTeleporterFeeAmount = 0 }) {
|
|
|
136
142
|
return {
|
|
137
143
|
status: true,
|
|
138
144
|
data,
|
|
145
|
+
requestOutputIndex,
|
|
139
146
|
value,
|
|
147
|
+
valueOutputIndex,
|
|
140
148
|
}
|
|
141
149
|
}
|
|
142
150
|
|
|
143
151
|
function checkAndParseProtocolRequest(vouts, address, config = { minTeleporterFeeAmount: 0 }) {
|
|
144
|
-
let
|
|
145
|
-
if (
|
|
146
|
-
let
|
|
152
|
+
let requestOutputIndex = vouts.findIndex((vout_) => vout_.script.startsWith("6a"))
|
|
153
|
+
if (requestOutputIndex >= 0) {
|
|
154
|
+
let opReturnData = vouts[requestOutputIndex]?.script || null
|
|
155
|
+
let valueOutputIndex = vouts.findIndex((vout_) => vout_.address === address)?.value || 0
|
|
156
|
+
let value = valueOutputIndex >= 0 ? vouts[valueOutputIndex].value || 0 : 0
|
|
147
157
|
let dataResponse = parseRawRequest(opReturnData)
|
|
148
158
|
if (dataResponse.status) {
|
|
149
|
-
return validateRequestAndValue(
|
|
159
|
+
return validateRequestAndValue(
|
|
160
|
+
dataResponse.data,
|
|
161
|
+
requestOutputIndex,
|
|
162
|
+
value,
|
|
163
|
+
valueOutputIndex,
|
|
164
|
+
config,
|
|
165
|
+
)
|
|
150
166
|
}
|
|
151
167
|
return dataResponse
|
|
152
168
|
}
|