@teleportdao/bitcoin 1.6.1 → 1.7.0

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 (126) 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 +104 -0
  5. package/dist/bitcoin-interface-ordinal.d.ts.map +1 -0
  6. package/dist/bitcoin-interface-ordinal.js +113 -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.d.ts +45 -333
  13. package/dist/bitcoin-interface.d.ts.map +1 -1
  14. package/dist/bitcoin-interface.js +68 -202
  15. package/dist/bitcoin-interface.js.map +1 -1
  16. package/dist/bitcoin-utils.d.ts +6 -53
  17. package/dist/bitcoin-utils.d.ts.map +1 -1
  18. package/dist/bitcoin-utils.js +4 -4
  19. package/dist/bitcoin-utils.js.map +1 -1
  20. package/dist/{bitcoin-base.d.ts → bitcoin-wallet-base.d.ts} +8 -8
  21. package/dist/bitcoin-wallet-base.d.ts.map +1 -0
  22. package/dist/{bitcoin-base.js → bitcoin-wallet-base.js} +12 -11
  23. package/dist/bitcoin-wallet-base.js.map +1 -0
  24. package/dist/helper/brc20-helper.d.ts +43 -0
  25. package/dist/helper/brc20-helper.d.ts.map +1 -0
  26. package/dist/helper/brc20-helper.js +129 -0
  27. package/dist/helper/brc20-helper.js.map +1 -0
  28. package/dist/helper/index.d.ts +4 -0
  29. package/dist/helper/index.d.ts.map +1 -0
  30. package/dist/helper/index.js +30 -0
  31. package/dist/helper/index.js.map +1 -0
  32. package/dist/helper/ordinal-helper.d.ts +13 -0
  33. package/dist/helper/ordinal-helper.d.ts.map +1 -0
  34. package/dist/helper/ordinal-helper.js +127 -0
  35. package/dist/helper/ordinal-helper.js.map +1 -0
  36. package/dist/helper/teleswap-helper.d.ts +84 -0
  37. package/dist/helper/teleswap-helper.d.ts.map +1 -0
  38. package/dist/helper/teleswap-helper.js +181 -0
  39. package/dist/helper/teleswap-helper.js.map +1 -0
  40. package/dist/index.d.ts +8 -3
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +8 -3
  43. package/dist/index.js.map +1 -1
  44. package/dist/ordinal-wallet.d.ts +536 -0
  45. package/dist/ordinal-wallet.d.ts.map +1 -0
  46. package/dist/ordinal-wallet.js +446 -0
  47. package/dist/ordinal-wallet.js.map +1 -0
  48. package/dist/sign/sign-transaction.d.ts +2 -4
  49. package/dist/sign/sign-transaction.d.ts.map +1 -1
  50. package/dist/sign/sign-transaction.js +26 -22
  51. package/dist/sign/sign-transaction.js.map +1 -1
  52. package/dist/teleswap-wallet.d.ts +54 -0
  53. package/dist/teleswap-wallet.d.ts.map +1 -0
  54. package/dist/teleswap-wallet.js +87 -0
  55. package/dist/teleswap-wallet.js.map +1 -0
  56. package/dist/transaction-builder/bitcoin-transaction-builder.d.ts +2 -20
  57. package/dist/transaction-builder/bitcoin-transaction-builder.d.ts.map +1 -1
  58. package/dist/transaction-builder/bitcoin-transaction-builder.js +5 -4
  59. package/dist/transaction-builder/bitcoin-transaction-builder.js.map +1 -1
  60. package/dist/transaction-builder/index.d.ts +2 -1
  61. package/dist/transaction-builder/index.d.ts.map +1 -1
  62. package/dist/transaction-builder/index.js +2 -6
  63. package/dist/transaction-builder/index.js.map +1 -1
  64. package/dist/transaction-builder/ordinal-transaction-builder.d.ts +63 -0
  65. package/dist/transaction-builder/ordinal-transaction-builder.d.ts.map +1 -0
  66. package/dist/transaction-builder/ordinal-transaction-builder.js +131 -0
  67. package/dist/transaction-builder/ordinal-transaction-builder.js.map +1 -0
  68. package/dist/transaction-builder/transaction-builder.d.ts +10 -7
  69. package/dist/transaction-builder/transaction-builder.d.ts.map +1 -1
  70. package/dist/transaction-builder/transaction-builder.js +18 -9
  71. package/dist/transaction-builder/transaction-builder.js.map +1 -1
  72. package/dist/type.d.ts +43 -0
  73. package/dist/type.d.ts.map +1 -0
  74. package/dist/type.js +3 -0
  75. package/dist/type.js.map +1 -0
  76. package/dist/utils/tools.d.ts +4 -4
  77. package/dist/utils/tools.d.ts.map +1 -1
  78. package/dist/utils/tools.js +8 -5
  79. package/dist/utils/tools.js.map +1 -1
  80. package/package.json +6 -8
  81. package/src/bitcoin-interface-ordinal.ts +128 -0
  82. package/src/bitcoin-interface-teleswap.ts +255 -0
  83. package/src/bitcoin-interface.ts +99 -303
  84. package/src/bitcoin-utils.ts +6 -32
  85. package/src/{bitcoin-base.ts → bitcoin-wallet-base.ts} +20 -14
  86. package/src/helper/brc20-helper.ts +181 -0
  87. package/src/helper/index.ts +3 -0
  88. package/src/helper/ordinal-helper.ts +118 -0
  89. package/src/helper/teleswap-helper.ts +300 -0
  90. package/src/index.ts +11 -3
  91. package/src/ordinal-wallet.ts +738 -0
  92. package/src/sign/sign-transaction.ts +42 -33
  93. package/src/teleswap-wallet.ts +155 -0
  94. package/src/transaction-builder/bitcoin-transaction-builder.ts +7 -24
  95. package/src/transaction-builder/index.ts +2 -1
  96. package/src/transaction-builder/ordinal-transaction-builder.ts +147 -0
  97. package/src/transaction-builder/transaction-builder.ts +33 -15
  98. package/src/type.ts +43 -0
  99. package/src/utils/tools.ts +17 -11
  100. package/tsconfig.json +1 -2
  101. package/dist/bitcoin-base.d.ts.map +0 -1
  102. package/dist/bitcoin-base.js.map +0 -1
  103. package/dist/bitcoin-utils-2.d.ts +0 -2
  104. package/dist/bitcoin-utils-2.d.ts.map +0 -1
  105. package/dist/bitcoin-utils-2.js +0 -13
  106. package/dist/bitcoin-utils-2.js.map +0 -1
  107. package/dist/bundle.js +0 -17
  108. package/dist/helper/burn-request-helper.d.ts +0 -7
  109. package/dist/helper/burn-request-helper.d.ts.map +0 -1
  110. package/dist/helper/burn-request-helper.js +0 -26
  111. package/dist/helper/burn-request-helper.js.map +0 -1
  112. package/dist/helper/teleport-request-helper.d.ts +0 -47
  113. package/dist/helper/teleport-request-helper.d.ts.map +0 -1
  114. package/dist/helper/teleport-request-helper.js +0 -146
  115. package/dist/helper/teleport-request-helper.js.map +0 -1
  116. package/dist/mempool-space.d.ts +0 -69
  117. package/dist/mempool-space.d.ts.map +0 -1
  118. package/dist/mempool-space.js +0 -266
  119. package/dist/mempool-space.js.map +0 -1
  120. package/dist/teleport-dao-payments.d.ts +0 -76
  121. package/dist/teleport-dao-payments.d.ts.map +0 -1
  122. package/dist/teleport-dao-payments.js +0 -217
  123. package/dist/teleport-dao-payments.js.map +0 -1
  124. package/src/helper/burn-request-helper.js +0 -27
  125. package/src/helper/teleport-request-helper.js +0 -181
  126. package/src/teleport-dao-payments.ts +0 -347
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.BitcoinInterfaceTeleswap = void 0;
16
+ const bitcoin_utils_1 = require("./bitcoin-utils");
17
+ const teleswap_helper_1 = require("./helper/teleswap-helper");
18
+ const bitcoin_interface_1 = __importDefault(require("./bitcoin-interface"));
19
+ class BitcoinInterfaceTeleswap extends bitcoin_interface_1.default {
20
+ getHexBlockHeaders(startBlockNumber, endBlockNumber) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ const blockHeaders = [];
23
+ let difficulty = null;
24
+ let hexBlockHeaders = "";
25
+ let fromBlockNumber = startBlockNumber;
26
+ for (let blockNumber = startBlockNumber; blockNumber <= endBlockNumber; blockNumber += 1) {
27
+ let blockHeader = yield this.getBlockHeaderHex(blockNumber);
28
+ console.log("block", blockNumber);
29
+ let parsedBlockHeader = (0, bitcoin_utils_1.parseBlockHeader)(blockHeader);
30
+ if (difficulty && parsedBlockHeader.difficulty !== difficulty) {
31
+ blockHeaders.push({
32
+ hexBlockHeaders,
33
+ fromBlockNumber,
34
+ toBlockNumber: blockNumber - 1,
35
+ difficulty,
36
+ });
37
+ hexBlockHeaders = blockHeader;
38
+ fromBlockNumber = blockNumber;
39
+ }
40
+ else {
41
+ hexBlockHeaders += blockHeader;
42
+ }
43
+ difficulty = parsedBlockHeader.difficulty;
44
+ }
45
+ if (hexBlockHeaders) {
46
+ blockHeaders.push({
47
+ hexBlockHeaders,
48
+ fromBlockNumber,
49
+ toBlockNumber: endBlockNumber,
50
+ difficulty,
51
+ });
52
+ }
53
+ return blockHeaders;
54
+ });
55
+ }
56
+ getWrapRequests(addresses, startblockNumber, endBlockNumber) {
57
+ return __awaiter(this, void 0, void 0, function* () {
58
+ let transactions = yield this.getMultipleBlocksTransactions(addresses, startblockNumber, endBlockNumber);
59
+ let requests = [];
60
+ let invalidRequests = [];
61
+ for (let inputTx of transactions) {
62
+ let { transaction, request, lockerAddress, lockerLockingScript } = yield this.getWrapRequestByTx(inputTx, inputTx.address);
63
+ if (request.status && "data" in request && request.data) {
64
+ requests.push({
65
+ transaction,
66
+ request,
67
+ lockerAddress,
68
+ lockerLockingScript,
69
+ });
70
+ }
71
+ else if (request.code !== "NO_OP_RETURN") {
72
+ invalidRequests.push({ transaction, request, lockerAddress, lockerLockingScript });
73
+ }
74
+ }
75
+ return { requests, invalidRequests };
76
+ });
77
+ }
78
+ getMempoolWrapRequests(addresses) {
79
+ return __awaiter(this, void 0, void 0, function* () {
80
+ let transactions = yield this.apiProvider.getMempoolTransactionHistoryForMultipleAddresses(addresses);
81
+ let requests = [];
82
+ let invalidRequests = [];
83
+ for (let inputTx of transactions) {
84
+ let { transaction, request, lockerAddress, lockerLockingScript } = yield this.getWrapRequestByTx(inputTx, inputTx.address);
85
+ if (request.status) {
86
+ requests.push({ transaction, request, lockerAddress, lockerLockingScript });
87
+ }
88
+ else if (request.code !== "NO_OP_RETURN") {
89
+ invalidRequests.push({ transaction, request, lockerAddress, lockerLockingScript });
90
+ }
91
+ }
92
+ return { requests, invalidRequests };
93
+ });
94
+ }
95
+ getWrapRequestByTx(inputTransaction, lockerAddress, minTeleporterFeeAmount = 0) {
96
+ return __awaiter(this, void 0, void 0, function* () {
97
+ let transaction;
98
+ if ("vout" in inputTransaction && "blockNumber" in inputTransaction) {
99
+ transaction = inputTransaction;
100
+ }
101
+ else {
102
+ if (!inputTransaction.txId)
103
+ throw new Error("txId not exist");
104
+ transaction = yield this.getTransaction(inputTransaction.txId);
105
+ }
106
+ let vout = transaction.vout;
107
+ let request = (0, teleswap_helper_1.checkAndParseWrapRequest)(vout, lockerAddress, {
108
+ minTeleporterFeeAmount,
109
+ });
110
+ let lockerLockingScript = transaction.addressScript ||
111
+ this.convertAddressToScript(lockerAddress).script.toString("hex");
112
+ return {
113
+ transaction,
114
+ request,
115
+ lockerAddress,
116
+ lockerLockingScript,
117
+ };
118
+ });
119
+ }
120
+ getLockersUnWrapTransactions(addresses, startBlockNumber, endBlockNumber) {
121
+ return __awaiter(this, void 0, void 0, function* () {
122
+ let transactions = yield this.getMultipleBlocksTransactions(addresses, startBlockNumber, endBlockNumber);
123
+ let validTxs = [];
124
+ for (let transaction of transactions) {
125
+ let address = transaction.address;
126
+ let txBurnInfo = yield this.getTransactionUnwrapInfoByTx(transaction, address);
127
+ if (txBurnInfo) {
128
+ const { burnInfo, lockerAddress, lockerLockingScript } = txBurnInfo;
129
+ validTxs.push({
130
+ transaction,
131
+ burnInfo,
132
+ lockerAddress,
133
+ lockerLockingScript,
134
+ });
135
+ }
136
+ }
137
+ return validTxs;
138
+ });
139
+ }
140
+ getLockersUnwrapMEmpoolTransactions(addresses, startBlockNumber, endBlockNumber) {
141
+ return __awaiter(this, void 0, void 0, function* () {
142
+ let transactions = yield this.getMultipleBlocksTransactions(addresses, startBlockNumber, endBlockNumber);
143
+ let validTxs = [];
144
+ for (let transaction of transactions) {
145
+ let address = transaction.address;
146
+ let txBurnInfo = yield this.getTransactionUnwrapInfoByTx(transaction, address);
147
+ if (txBurnInfo) {
148
+ const { burnInfo, lockerAddress, lockerLockingScript } = txBurnInfo;
149
+ validTxs.push({
150
+ transaction,
151
+ burnInfo,
152
+ lockerAddress,
153
+ lockerLockingScript,
154
+ });
155
+ }
156
+ }
157
+ return validTxs;
158
+ });
159
+ }
160
+ getTransactionUnwrapInfoByTx(transaction, lockerAddress) {
161
+ return __awaiter(this, void 0, void 0, function* () {
162
+ if (!transaction.txId)
163
+ throw new Error("txId not exist");
164
+ let vin = transaction.vin || (yield this.getTransaction(transaction.txId)).vin;
165
+ let burnInfo = (0, teleswap_helper_1.getBurnTransactionInfo)(lockerAddress, vin, transaction.vout);
166
+ if (!burnInfo)
167
+ return;
168
+ let lockerLockingScript = transaction.addressScript ||
169
+ this.convertAddressToScript(lockerAddress).script.toString("hex");
170
+ return {
171
+ burnInfo,
172
+ lockerAddress,
173
+ lockerLockingScript,
174
+ };
175
+ });
176
+ }
177
+ }
178
+ exports.BitcoinInterfaceTeleswap = BitcoinInterfaceTeleswap;
179
+ //# sourceMappingURL=bitcoin-interface-teleswap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitcoin-interface-teleswap.js","sourceRoot":"","sources":["../src/bitcoin-interface-teleswap.ts"],"names":[],"mappings":"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"}
@@ -1,79 +1,22 @@
1
1
  import { bitcoin as bitcoinProvider } from "@teleportdao/providers";
2
2
  import { BitcoinInterfaceUtils } from "./bitcoin-interface-utils";
3
- import type { BitcoinConnectionInfo } from "./transaction-builder/bitcoin-transaction-builder";
3
+ import type { BitcoinConnectionInfo } from "./type";
4
4
  import type { SignerInfo } from "./transaction-builder/transaction-builder";
5
5
  export declare class BitcoinInterface extends BitcoinInterfaceUtils {
6
- rpcProvider?: bitcoinProvider.RPC;
7
- apiProviderName: string;
8
- minTeleporterFeeAmount: number;
9
- provider: any;
10
- apiProvider: bitcoinProvider.ApiProviders.BlockStream | bitcoinProvider.ApiProviders.NowNodes | bitcoinProvider.ApiProviders.MempoolSpace;
11
- constructor(connectionInfo: BitcoinConnectionInfo, networkName: string, config?: {
12
- minTeleporterFeeAmount: number;
13
- });
14
- static checkAndParseProtocolRequest(vouts: any[], address: string, config?: {
15
- minTeleporterFeeAmount: number;
16
- }): {
17
- status: boolean;
18
- data: {
19
- requestType: string;
20
- chainId: number;
21
- appId: number;
22
- recipientAddress: string;
23
- percentageFee: number;
24
- speed: boolean;
25
- exchangeTokenAddress: string;
26
- outputAmount: string;
27
- deadline: string;
28
- isFixedToken: boolean;
29
- };
30
- message?: undefined;
31
- code?: undefined;
32
- } | {
33
- status: boolean;
34
- message: string;
35
- code: string;
36
- data?: undefined;
37
- } | {
38
- status: boolean;
39
- data: {
40
- requestType: string;
41
- chainId: number;
42
- appId: number;
43
- recipientAddress: string;
44
- percentageFee: number;
45
- mode: number;
46
- tokenAddress: string;
47
- borrowAmount: number;
48
- };
49
- message?: undefined;
50
- code?: undefined;
51
- } | {
52
- status: boolean;
53
- data: any;
54
- requestOutputIndex: any;
55
- value: any;
56
- valueOutputIndex: any;
57
- message?: undefined;
58
- code?: undefined;
59
- };
60
- static getBurnTransactionInfo(address: string, vin: any[], vouts: any[]): {
61
- receivers: any[];
62
- changes: any[];
63
- totalInputValue: any;
64
- lockerVin: any;
65
- } | null;
6
+ rpcProvider?: bitcoinProvider.BitcoinRPC;
7
+ utxoProvider: bitcoinProvider.Types.UtxoProvider;
8
+ apiProvider: bitcoinProvider.MempoolSpace;
9
+ constructor(connectionInfo: BitcoinConnectionInfo, networkName: string);
10
+ getFeeRate(speed?: "normal" | "slow" | "fast"): Promise<number>;
66
11
  getLatestBlockNumber(): Promise<number>;
67
12
  getBlockHash(blockNumber: number): Promise<string>;
68
13
  getBlockHeaderHex(blockNumber: number): Promise<string>;
69
14
  getTransaction(txId: string): Promise<bitcoinProvider.Types.ConfirmedTransaction>;
70
- getFeeRate(speed?: "normal" | "slow" | "fast"): Promise<number>;
71
- getHexBlockHeaders(startBlockNumber: number, endBlockNumber: number): Promise<{
72
- hexBlockHeaders: string;
73
- fromBlockNumber: number;
74
- toBlockNumber: number;
75
- difficulty: string | null;
76
- }[]>;
15
+ getRawTransaction(txId: string): Promise<string>;
16
+ getMerkleProof(txId: string, blockHash: string): Promise<{
17
+ intermediateNodes: string;
18
+ transactionIndex: number;
19
+ }>;
77
20
  getRequestProof(transaction: {
78
21
  txId: string;
79
22
  hex?: string;
@@ -99,275 +42,44 @@ export declare class BitcoinInterface extends BitcoinInterfaceUtils {
99
42
  blockNumber: number;
100
43
  blockHash: string;
101
44
  }>;
102
- getMerkleProof(txId: string, blockHash: string): Promise<{
103
- intermediateNodes: string;
104
- transactionIndex: number;
105
- }>;
106
- getAddressesUtxo(allAddresses: string[]): Promise<any[]>;
107
- getAddressesExtendedUtxo(allAddressesInfo: SignerInfo[]): Promise<any[]>;
108
- getBalance(address: string): Promise<any>;
109
- getBlockTransactions(addresses: string[], blockNumber: number, inputTxIds?: never[]): Promise<{
110
- txId: string;
111
- version: number;
112
- locktime: number;
113
- blockNumber: number;
114
- blockHash: string;
115
- merkleProof: {
116
- intermediateNodes: string;
117
- transactionIndex: number;
118
- };
119
- vout: {
120
- address: string | null;
121
- script: string;
122
- value: number;
123
- }[];
124
- vin: {
125
- txId: string;
126
- index: number;
127
- address?: string | null | undefined;
128
- script?: string | null | undefined;
129
- value?: number | null | undefined;
130
- }[];
131
- address: string;
132
- addressScript: string;
45
+ getUtxo(address: string): Promise<bitcoinProvider.Types.Utxo[]>;
46
+ getExtendedUtxo(signerInfo: SignerInfo): Promise<{
47
+ hash: any;
48
+ value: any;
49
+ index: any;
50
+ signerInfo: SignerInfo;
51
+ }[]>;
52
+ getAddressesUtxo(allAddresses: string[]): Promise<bitcoinProvider.Types.Utxo[]>;
53
+ getAddressesExtendedUtxo(signerInfos: SignerInfo[]): Promise<{
54
+ hash: any;
55
+ value: any;
56
+ index: any;
57
+ signerInfo: SignerInfo;
133
58
  }[]>;
134
- getMultipleBlocksTransactions(addresses: string[], startBlockNumber: number, endBlockNumber: number, inputTxIds?: never[]): Promise<{
59
+ getBalance(address: string): Promise<any>;
60
+ getBlockTransactions(addresses: string[], blockNumber: number, inputTxIds?: {
135
61
  txId: string;
136
- version: number;
137
- locktime: number;
138
- blockNumber: number;
139
- blockHash: string;
140
- merkleProof: {
141
- intermediateNodes: string;
142
- transactionIndex: number;
143
- };
144
- vout: {
145
- address: string | null;
146
- script: string;
147
- value: number;
148
- }[];
149
- vin: {
150
- txId: string;
151
- index: number;
152
- address?: string | null | undefined;
153
- script?: string | null | undefined;
154
- value?: number | null | undefined;
155
- }[];
62
+ index: number;
156
63
  address: string;
157
- addressScript: string;
158
- }[]>;
159
- getTransactionHistory(addresses: string[], startBlockNumber: number, endBlockNumber?: number): Promise<any>;
160
- getMempoolTransactionHistory(addresses: string[]): Promise<any>;
161
- getTeleporterRequests(addresses: string[], startblockNumber: number, endBlockNumber: number, mempool?: boolean): Promise<{
162
- requests: {
163
- transaction: {
164
- txId: any;
165
- version?: any;
166
- locktime?: any;
167
- blockNumber?: any;
168
- blockHash?: any;
169
- vout?: any;
170
- vin?: any;
171
- addressScript?: any;
172
- };
173
- request: {
174
- status: boolean;
175
- data: {
176
- requestType: string;
177
- chainId: number;
178
- appId: number;
179
- recipientAddress: string;
180
- percentageFee: number;
181
- speed: boolean;
182
- exchangeTokenAddress: string;
183
- outputAmount: string;
184
- deadline: string;
185
- isFixedToken: boolean;
186
- };
187
- message?: undefined;
188
- code?: undefined;
189
- } | {
190
- status: boolean;
191
- message: string;
192
- code: string;
193
- data?: undefined;
194
- } | {
195
- status: boolean;
196
- data: {
197
- requestType: string;
198
- chainId: number;
199
- appId: number;
200
- recipientAddress: string;
201
- percentageFee: number;
202
- mode: number;
203
- tokenAddress: string;
204
- borrowAmount: number;
205
- };
206
- message?: undefined;
207
- code?: undefined;
208
- } | {
209
- status: boolean;
210
- data: any;
211
- requestOutputIndex: any;
212
- value: any;
213
- valueOutputIndex: any;
214
- message?: undefined;
215
- code?: undefined;
216
- };
217
- lockerAddress: string;
218
- lockerLockingScript: string;
219
- }[];
220
- invalidRequests: {
221
- transaction: {
222
- txId: any;
223
- version?: any;
224
- locktime?: any;
225
- blockNumber?: any;
226
- blockHash?: any;
227
- vout?: any;
228
- vin?: any;
229
- addressScript?: any;
230
- };
231
- request: {
232
- status: boolean;
233
- data: {
234
- requestType: string;
235
- chainId: number;
236
- appId: number;
237
- recipientAddress: string;
238
- percentageFee: number;
239
- speed: boolean;
240
- exchangeTokenAddress: string;
241
- outputAmount: string;
242
- deadline: string;
243
- isFixedToken: boolean;
244
- };
245
- message?: undefined;
246
- code?: undefined;
247
- } | {
248
- status: boolean;
249
- message: string;
250
- code: string;
251
- data?: undefined;
252
- } | {
253
- status: boolean;
254
- data: {
255
- requestType: string;
256
- chainId: number;
257
- appId: number;
258
- recipientAddress: string;
259
- percentageFee: number;
260
- mode: number;
261
- tokenAddress: string;
262
- borrowAmount: number;
263
- };
264
- message?: undefined;
265
- code?: undefined;
266
- } | {
267
- status: boolean;
268
- data: any;
269
- requestOutputIndex: any;
270
- value: any;
271
- valueOutputIndex: any;
272
- message?: undefined;
273
- code?: undefined;
274
- };
275
- lockerAddress: string;
276
- lockerLockingScript: string;
277
- }[];
278
- }>;
279
- getTeleportRequestByTx(inputTransaction: {
280
- txId: any;
281
- version?: any;
282
- locktime?: any;
283
- blockNumber?: any;
284
- blockHash?: any;
285
- vout?: any;
286
- vin?: any;
287
- addressScript?: any;
288
- }, lockerAddress: string): Promise<{
289
- transaction: {
290
- txId: any;
291
- version?: any;
292
- locktime?: any;
293
- blockNumber?: any;
294
- blockHash?: any;
295
- vout?: any;
296
- vin?: any;
297
- addressScript?: any;
298
- };
299
- request: {
300
- status: boolean;
301
- data: {
302
- requestType: string;
303
- chainId: number;
304
- appId: number;
305
- recipientAddress: string;
306
- percentageFee: number;
307
- speed: boolean;
308
- exchangeTokenAddress: string;
309
- outputAmount: string;
310
- deadline: string;
311
- isFixedToken: boolean;
312
- };
313
- message?: undefined;
314
- code?: undefined;
315
- } | {
316
- status: boolean;
317
- message: string;
318
- code: string;
319
- data?: undefined;
320
- } | {
321
- status: boolean;
322
- data: {
323
- requestType: string;
324
- chainId: number;
325
- appId: number;
326
- recipientAddress: string;
327
- percentageFee: number;
328
- mode: number;
329
- tokenAddress: string;
330
- borrowAmount: number;
331
- };
332
- message?: undefined;
333
- code?: undefined;
334
- } | {
335
- status: boolean;
336
- data: any;
337
- requestOutputIndex: any;
338
- value: any;
339
- valueOutputIndex: any;
340
- message?: undefined;
341
- code?: undefined;
64
+ script?: string | undefined;
65
+ value?: number | undefined;
66
+ }[]): Promise<{
67
+ blockInfo: {
68
+ blockNumber: number;
69
+ blockHash: string;
70
+ merkleRoot: string;
71
+ prvBlockHash: string;
342
72
  };
343
- lockerAddress: string;
344
- lockerLockingScript: string;
73
+ withdrawTxs: import("./type").Transaction[];
74
+ depositTxs: import("./type").Transaction[];
345
75
  }>;
346
- getLockersBurnTransactions(addresses: string[], startBlockNumber: number, endBlockNumber: number, mempool?: boolean): Promise<{
347
- transaction: any;
348
- burnInfo: {
349
- receivers: any[];
350
- changes: any[];
351
- totalInputValue: any;
352
- lockerVin: any;
353
- };
354
- lockerAddress: string;
355
- lockerLockingScript: string;
356
- }[]>;
357
- getTransactionBurnInfoByTx(transaction: {
358
- txId: any;
359
- vout?: any;
360
- vin?: any;
361
- addressScript?: any;
362
- }, lockerAddress: string): Promise<{
363
- burnInfo: {
364
- receivers: any[];
365
- changes: any[];
366
- totalInputValue: any;
367
- lockerVin: any;
368
- };
369
- lockerAddress: string;
370
- lockerLockingScript: string;
371
- } | null>;
76
+ getMultipleBlocksTransactions(addresses: string[], startBlockNumber: number, endBlockNumber: number, inputTxIds?: {
77
+ txId: string;
78
+ index: number;
79
+ address: string;
80
+ script?: string | undefined;
81
+ value?: number | undefined;
82
+ }[]): Promise<import("./type").Transaction[]>;
372
83
  }
84
+ export default BitcoinInterface;
373
85
  //# sourceMappingURL=bitcoin-interface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bitcoin-interface.d.ts","sourceRoot":"","sources":["../src/bitcoin-interface.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bitcoin-interface.d.ts","sourceRoot":"","sources":["../src/bitcoin-interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAOnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAA;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAA;AAE3E,qBAAa,gBAAiB,SAAQ,qBAAqB;IACzD,WAAW,CAAC,EAAE,eAAe,CAAC,UAAU,CAAA;IACxC,YAAY,EAAE,eAAe,CAAC,KAAK,CAAC,YAAY,CAAA;IAChD,WAAW,EAAE,eAAe,CAAC,YAAY,CAAA;gBAE7B,cAAc,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM;IAahE,UAAU,CAAC,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM;IAI7C,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAKvC,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOlD,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOvD,cAAc,CAAC,IAAI,EAAE,MAAM;IAI3B,iBAAiB,CAAC,IAAI,EAAE,MAAM;IAI9B,cAAc,CAClB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QACT,iBAAiB,EAAE,MAAM,CAAA;QACzB,gBAAgB,EAAE,MAAM,CAAA;KACzB,CAAC;IAYI,eAAe,CAAC,WAAW,EAAE;QACjC,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,CAAC,EAAE,MAAM,CAAA;QACZ,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,WAAW,CAAC,EAAE;YACZ,iBAAiB,EAAE,MAAM,CAAA;YACzB,gBAAgB,EAAE,MAAM,CAAA;SACzB,CAAA;KACF;;;;;;;;;;;;;;;;IAsBK,OAAO,CAAC,OAAO,EAAE,MAAM;IAOvB,eAAe,CAAC,UAAU,EAAE,UAAU;;;;;;IAatC,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE;IA4BvC,wBAAwB,CAAC,WAAW,EAAE,UAAU,EAAE;;;;;;IA4BlD,UAAU,CAAC,OAAO,EAAE,MAAM;IAO1B,oBAAoB,CACxB,SAAS,EAAE,MAAM,EAAE,EACnB,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC3B,EAAO;;;;;;;;;;IAsBJ,6BAA6B,CACjC,SAAS,EAAE,MAAM,EAAE,EACnB,gBAAgB,EAAE,MAAM,EACxB,cAAc,EAAE,MAAM,EACtB,UAAU,GAAE;QACV,IAAI,EAAE,MAAM,CAAA;QACZ,KAAK,EAAE,MAAM,CAAA;QACb,OAAO,EAAE,MAAM,CAAA;QACf,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC3B,EAAO;CAWX;AAED,eAAe,gBAAgB,CAAA"}