@teleportdao/bitcoin 3.0.0 → 4.0.0-alpha.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.
- package/dist/bitcoin-interface-ordinal.d.ts +24 -24
- package/dist/bitcoin-interface-ordinal.d.ts.map +1 -1
- package/dist/bitcoin-interface-ordinal.js +89 -107
- package/dist/bitcoin-interface-ordinal.js.map +1 -1
- package/dist/bitcoin-interface-teleswap.d.ts +2 -2
- package/dist/bitcoin-interface-teleswap.d.ts.map +1 -1
- package/dist/bitcoin-interface-teleswap.js +77 -88
- package/dist/bitcoin-interface-teleswap.js.map +1 -1
- package/dist/bitcoin-interface-utils.d.ts +7 -4
- package/dist/bitcoin-interface-utils.d.ts.map +1 -1
- package/dist/bitcoin-interface-utils.js +11 -5
- package/dist/bitcoin-interface-utils.js.map +1 -1
- package/dist/bitcoin-interface-wallet.d.ts +1 -0
- package/dist/bitcoin-interface-wallet.d.ts.map +1 -1
- package/dist/bitcoin-interface-wallet.js +87 -95
- package/dist/bitcoin-interface-wallet.js.map +1 -1
- package/dist/bitcoin-interface.d.ts.map +1 -1
- package/dist/bitcoin-interface.js +58 -87
- package/dist/bitcoin-interface.js.map +1 -1
- package/dist/bitcoin-utils.d.ts +7 -4
- package/dist/bitcoin-utils.d.ts.map +1 -1
- package/dist/bitcoin-utils.js +93 -54
- package/dist/bitcoin-utils.js.map +1 -1
- package/dist/bitcoin-wallet-base.d.ts +23 -11
- package/dist/bitcoin-wallet-base.d.ts.map +1 -1
- package/dist/bitcoin-wallet-base.js +148 -138
- package/dist/bitcoin-wallet-base.js.map +1 -1
- package/dist/helper/brc20-helper.d.ts.map +1 -1
- package/dist/helper/brc20-helper.js +4 -6
- package/dist/helper/brc20-helper.js.map +1 -1
- package/dist/helper/index.js +17 -7
- package/dist/helper/index.js.map +1 -1
- package/dist/helper/ordinal-helper.d.ts +3 -9
- package/dist/helper/ordinal-helper.d.ts.map +1 -1
- package/dist/helper/ordinal-helper.js +20 -85
- package/dist/helper/ordinal-helper.js.map +1 -1
- package/dist/helper/teleswap-helper.d.ts.map +1 -1
- package/dist/helper/teleswap-helper.js +13 -12
- package/dist/helper/teleswap-helper.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -7
- package/dist/index.js.map +1 -1
- package/dist/multisig-wallet-helper.d.ts +14 -1
- package/dist/multisig-wallet-helper.d.ts.map +1 -1
- package/dist/multisig-wallet-helper.js +135 -149
- package/dist/multisig-wallet-helper.js.map +1 -1
- package/dist/ordinal-wallet.d.ts +27 -19
- package/dist/ordinal-wallet.d.ts.map +1 -1
- package/dist/ordinal-wallet.js +263 -293
- package/dist/ordinal-wallet.js.map +1 -1
- package/dist/sign/sign-transaction.d.ts +5 -2
- package/dist/sign/sign-transaction.d.ts.map +1 -1
- package/dist/sign/sign-transaction.js +32 -39
- package/dist/sign/sign-transaction.js.map +1 -1
- package/dist/teleswap-wallet.d.ts +1 -0
- package/dist/teleswap-wallet.d.ts.map +1 -1
- package/dist/teleswap-wallet.js +40 -53
- package/dist/teleswap-wallet.js.map +1 -1
- package/dist/transaction-builder/bitcoin-transaction-builder.js +21 -21
- package/dist/transaction-builder/bitcoin-transaction-builder.js.map +1 -1
- package/dist/transaction-builder/coin-select.d.ts +19 -3
- package/dist/transaction-builder/coin-select.d.ts.map +1 -1
- package/dist/transaction-builder/coin-select.js +193 -181
- package/dist/transaction-builder/coin-select.js.map +1 -1
- package/dist/transaction-builder/index.d.ts +1 -0
- package/dist/transaction-builder/index.d.ts.map +1 -1
- package/dist/transaction-builder/index.js +1 -0
- package/dist/transaction-builder/index.js.map +1 -1
- package/dist/transaction-builder/ordinal-transaction-builder.d.ts +4 -4
- package/dist/transaction-builder/ordinal-transaction-builder.d.ts.map +1 -1
- package/dist/transaction-builder/ordinal-transaction-builder.js +51 -48
- package/dist/transaction-builder/ordinal-transaction-builder.js.map +1 -1
- package/dist/transaction-builder/transaction-builder.d.ts +57 -54
- package/dist/transaction-builder/transaction-builder.d.ts.map +1 -1
- package/dist/transaction-builder/transaction-builder.js +394 -308
- package/dist/transaction-builder/transaction-builder.js.map +1 -1
- package/dist/utils/networks.js +17 -7
- package/dist/utils/networks.js.map +1 -1
- package/dist/utils/tools.js +24 -35
- package/dist/utils/tools.js.map +1 -1
- package/package.json +4 -4
- package/src/bitcoin-interface-utils.ts +17 -8
- package/src/bitcoin-interface-wallet.ts +15 -1
- package/src/bitcoin-utils.ts +52 -3
- package/src/bitcoin-wallet-base.ts +67 -23
- package/src/helper/ordinal-helper.ts +0 -83
- package/src/index.ts +2 -0
- package/src/multisig-wallet-helper.ts +296 -0
- package/src/sign/sign-transaction.ts +5 -7
- package/src/transaction-builder/coin-select.ts +633 -0
- package/src/transaction-builder/index.ts +1 -0
- package/src/transaction-builder/transaction-builder.ts +424 -279
- package/dist/bitcoin-wallet-base copy.d.ts +0 -122
- package/dist/bitcoin-wallet-base copy.d.ts.map +0 -1
- package/dist/bitcoin-wallet-base copy.js +0 -279
- package/dist/bitcoin-wallet-base copy.js.map +0 -1
- package/dist/multisig-coordinator-wallet.d.ts +0 -2
- package/dist/multisig-coordinator-wallet.d.ts.map +0 -1
- package/dist/multisig-coordinator-wallet.js +0 -6
- package/dist/multisig-coordinator-wallet.js.map +0 -1
- package/dist/multisig-wallet.d.ts +0 -20
- package/dist/multisig-wallet.d.ts.map +0 -1
- package/dist/multisig-wallet.js +0 -119
- package/dist/multisig-wallet.js.map +0 -1
package/dist/bitcoin-utils.js
CHANGED
|
@@ -15,27 +15,49 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
15
15
|
}) : function(o, v) {
|
|
16
16
|
o["default"] = v;
|
|
17
17
|
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
};
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
34
35
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
36
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
37
|
};
|
|
37
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
-
exports.addressTypeHelper = exports.
|
|
39
|
+
exports.addressTypeHelper = exports.networks = void 0;
|
|
40
|
+
exports.generateMnemonic = generateMnemonic;
|
|
41
|
+
exports.getPrivateKeyHexFromMnemonic = getPrivateKeyHexFromMnemonic;
|
|
42
|
+
exports.reverseBytes = reverseBytes;
|
|
43
|
+
exports.getPublicKeyHexByXpubAndIndex = getPublicKeyHexByXpubAndIndex;
|
|
44
|
+
exports.getPubKeyFromPrivateKeyWIF = getPubKeyFromPrivateKeyWIF;
|
|
45
|
+
exports.getPubKeyFromPrivateKeyHex = getPubKeyFromPrivateKeyHex;
|
|
46
|
+
exports.getPrivateKeyHexFromWIF = getPrivateKeyHexFromWIF;
|
|
47
|
+
exports.parseRawTransaction = parseRawTransaction;
|
|
48
|
+
exports.calculateMerkleProof = calculateMerkleProof;
|
|
49
|
+
exports.parseBlockHeader = parseBlockHeader;
|
|
50
|
+
exports.getAddressType = getAddressType;
|
|
51
|
+
exports.createAddressObjectByAddress = createAddressObjectByAddress;
|
|
52
|
+
exports.convertBitcoinScriptToAddress = convertBitcoinScriptToAddress;
|
|
53
|
+
exports.parseRawBlock = parseRawBlock;
|
|
54
|
+
exports.extractTransactionsAndBlockInfoFromRawBlock = extractTransactionsAndBlockInfoFromRawBlock;
|
|
55
|
+
exports.validateAddress = validateAddress;
|
|
56
|
+
exports.createAddressObjectByScript = createAddressObjectByScript;
|
|
57
|
+
exports.createAddressObjectByHash = createAddressObjectByHash;
|
|
58
|
+
exports.createAddressObjectByPublicKey = createAddressObjectByPublicKey;
|
|
59
|
+
exports.publicKeyConvertor = publicKeyConvertor;
|
|
60
|
+
exports.createMultisigAddressObjectByPublicKeys = createMultisigAddressObjectByPublicKeys;
|
|
39
61
|
const bip39 = __importStar(require("bip39"));
|
|
40
62
|
const bip32_1 = __importDefault(require("bip32"));
|
|
41
63
|
const ecc = __importStar(require("@bitcoinerlab/secp256k1"));
|
|
@@ -54,21 +76,16 @@ function generateMnemonic() {
|
|
|
54
76
|
const mnemonic = bip39.generateMnemonic(256);
|
|
55
77
|
return mnemonic;
|
|
56
78
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
return
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
.derive(index)
|
|
64
|
-
.privateKey.toString("hex");
|
|
65
|
-
});
|
|
79
|
+
async function getPrivateKeyHexFromMnemonic(mnemonic, index = 0, isChange = false) {
|
|
80
|
+
const node = bip32.fromSeed(await bip39.mnemonicToSeed(mnemonic));
|
|
81
|
+
return node
|
|
82
|
+
.derive(isChange ? 1 : 0)
|
|
83
|
+
.derive(index)
|
|
84
|
+
.privateKey.toString("hex");
|
|
66
85
|
}
|
|
67
|
-
exports.getPrivateKeyHexFromMnemonic = getPrivateKeyHexFromMnemonic;
|
|
68
86
|
function reverseBytes(hexInput) {
|
|
69
87
|
return Buffer.from(hexInput, "hex").reverse().toString("hex");
|
|
70
88
|
}
|
|
71
|
-
exports.reverseBytes = reverseBytes;
|
|
72
89
|
function getPublicKeyHexByXpubAndIndex(xpub, index = 0, isChange = false, network = networks_1.default.bitcoin) {
|
|
73
90
|
const node = bip32.fromBase58(xpub, network);
|
|
74
91
|
return node
|
|
@@ -76,22 +93,18 @@ function getPublicKeyHexByXpubAndIndex(xpub, index = 0, isChange = false, networ
|
|
|
76
93
|
.derive(index)
|
|
77
94
|
.publicKey.toString("hex");
|
|
78
95
|
}
|
|
79
|
-
exports.getPublicKeyHexByXpubAndIndex = getPublicKeyHexByXpubAndIndex;
|
|
80
96
|
function getPubKeyFromPrivateKeyWIF(privateKeyWIF, network = bitcoin.networks.bitcoin) {
|
|
81
97
|
let key = ECPair.fromWIF(privateKeyWIF, network);
|
|
82
98
|
return key.publicKey;
|
|
83
99
|
}
|
|
84
|
-
exports.getPubKeyFromPrivateKeyWIF = getPubKeyFromPrivateKeyWIF;
|
|
85
100
|
function getPubKeyFromPrivateKeyHex(privateKeyHex, network = bitcoin.networks.bitcoin) {
|
|
86
101
|
let key = ECPair.fromPrivateKey(Buffer.from(privateKeyHex, "hex"), { network });
|
|
87
102
|
return key.publicKey;
|
|
88
103
|
}
|
|
89
|
-
exports.getPubKeyFromPrivateKeyHex = getPubKeyFromPrivateKeyHex;
|
|
90
104
|
function getPrivateKeyHexFromWIF(privateKeyWIF, network = bitcoin.networks.bitcoin) {
|
|
91
105
|
let key = ECPair.fromWIF(privateKeyWIF, network);
|
|
92
106
|
return key.privateKey.toString("hex");
|
|
93
107
|
}
|
|
94
|
-
exports.getPrivateKeyHexFromWIF = getPrivateKeyHexFromWIF;
|
|
95
108
|
function parseRawTransaction(rawTransaction) {
|
|
96
109
|
const size = {
|
|
97
110
|
version: 4,
|
|
@@ -140,7 +153,6 @@ function parseRawTransaction(rawTransaction) {
|
|
|
140
153
|
let locktime = `0x${rawTransaction.slice(rawTransaction.length - 8, rawTransaction.length)}`;
|
|
141
154
|
return { version, flag, vin, vout, witness, locktime };
|
|
142
155
|
}
|
|
143
|
-
exports.parseRawTransaction = parseRawTransaction;
|
|
144
156
|
function calculateMerkleProof(blockTransactions, txId, blockMerkleRoot) {
|
|
145
157
|
let transactionIndex = blockTransactions.findIndex((tx) => tx === txId);
|
|
146
158
|
if (transactionIndex < 0)
|
|
@@ -161,7 +173,6 @@ function calculateMerkleProof(blockTransactions, txId, blockMerkleRoot) {
|
|
|
161
173
|
transactionIndex,
|
|
162
174
|
};
|
|
163
175
|
}
|
|
164
|
-
exports.calculateMerkleProof = calculateMerkleProof;
|
|
165
176
|
function parseBlockHeader(headerHex) {
|
|
166
177
|
const size = {
|
|
167
178
|
version: 4,
|
|
@@ -179,14 +190,13 @@ function parseBlockHeader(headerHex) {
|
|
|
179
190
|
}
|
|
180
191
|
return result;
|
|
181
192
|
}
|
|
182
|
-
exports.parseBlockHeader = parseBlockHeader;
|
|
183
193
|
function getAddressType(address, network = bitcoin.networks.bitcoin) {
|
|
184
194
|
if (address.startsWith(`${network.bech32}1p`)) {
|
|
185
195
|
return "p2tr";
|
|
186
196
|
}
|
|
187
197
|
if (address.startsWith(network.bech32)) {
|
|
188
198
|
bitcoin.address.fromBech32(address);
|
|
189
|
-
return "p2wpkh";
|
|
199
|
+
return address.length > 42 ? "p2wsh" : "p2wpkh";
|
|
190
200
|
}
|
|
191
201
|
let base58Data = bitcoin.address.fromBase58Check(address);
|
|
192
202
|
if (base58Data.version === Number(network.scriptHash)) {
|
|
@@ -197,7 +207,6 @@ function getAddressType(address, network = bitcoin.networks.bitcoin) {
|
|
|
197
207
|
}
|
|
198
208
|
throw new Error("invalid address");
|
|
199
209
|
}
|
|
200
|
-
exports.getAddressType = getAddressType;
|
|
201
210
|
function createAddressObjectByAddress(address, network = bitcoin.networks.bitcoin) {
|
|
202
211
|
let addressType = getAddressType(address, network);
|
|
203
212
|
let addressObject;
|
|
@@ -231,7 +240,6 @@ function createAddressObjectByAddress(address, network = bitcoin.networks.bitcoi
|
|
|
231
240
|
}
|
|
232
241
|
return { addressObject, addressType };
|
|
233
242
|
}
|
|
234
|
-
exports.createAddressObjectByAddress = createAddressObjectByAddress;
|
|
235
243
|
function convertBitcoinScriptToAddress(script, network = bitcoin.networks.bitcoin) {
|
|
236
244
|
try {
|
|
237
245
|
return bitcoin.address.fromOutputScript(script, network);
|
|
@@ -240,9 +248,7 @@ function convertBitcoinScriptToAddress(script, network = bitcoin.networks.bitcoi
|
|
|
240
248
|
return undefined;
|
|
241
249
|
}
|
|
242
250
|
}
|
|
243
|
-
exports.convertBitcoinScriptToAddress = convertBitcoinScriptToAddress;
|
|
244
251
|
function parseRawBlock(rawBlockHex, blockNumber, network = bitcoin.networks.bitcoin) {
|
|
245
|
-
var _a;
|
|
246
252
|
let block = bitcoin.Block.fromBuffer(Buffer.from(rawBlockHex, "hex"));
|
|
247
253
|
let blockHash = block.getHash().toString("hex");
|
|
248
254
|
let merkleRoot = block.merkleRoot.toString("hex");
|
|
@@ -251,7 +257,7 @@ function parseRawBlock(rawBlockHex, blockNumber, network = bitcoin.networks.bitc
|
|
|
251
257
|
blockNumber,
|
|
252
258
|
merkleRoot,
|
|
253
259
|
prvBlockHash,
|
|
254
|
-
transactions:
|
|
260
|
+
transactions: block.transactions?.map((tx) => ({
|
|
255
261
|
txId: tx.getId(),
|
|
256
262
|
version: tx.version,
|
|
257
263
|
locktime: tx.locktime,
|
|
@@ -270,9 +276,7 @@ function parseRawBlock(rawBlockHex, blockNumber, network = bitcoin.networks.bitc
|
|
|
270
276
|
})),
|
|
271
277
|
};
|
|
272
278
|
}
|
|
273
|
-
exports.parseRawBlock = parseRawBlock;
|
|
274
279
|
function extractTransactionsAndBlockInfoFromRawBlock(rawBlockHex, blockNumber, addresses = [], inputTxIds = [], network = bitcoin.networks.bitcoin) {
|
|
275
|
-
var _a;
|
|
276
280
|
let block = bitcoin.Block.fromBuffer(Buffer.from(rawBlockHex, "hex"));
|
|
277
281
|
let blockHash = block.getHash().reverse().toString("hex");
|
|
278
282
|
let merkleRoot = block.merkleRoot.toString("hex");
|
|
@@ -287,13 +291,13 @@ function extractTransactionsAndBlockInfoFromRawBlock(rawBlockHex, blockNumber, a
|
|
|
287
291
|
let blockTxIds = block.transactions.map((tx) => tx.getId());
|
|
288
292
|
let withdrawTxs = [];
|
|
289
293
|
let depositTxs = [];
|
|
290
|
-
|
|
294
|
+
block.transactions?.forEach((tx) => {
|
|
291
295
|
let txId = tx.getId();
|
|
292
296
|
let inputTxAddress;
|
|
293
297
|
let isWithdraw = tx.ins.find((vi) => {
|
|
294
298
|
let viTxId = Buffer.from(vi.hash).reverse().toString("hex");
|
|
295
299
|
let viInput = inputTxIds.find((vin) => vin.txId === viTxId && vin.index === vi.index);
|
|
296
|
-
inputTxAddress = viInput
|
|
300
|
+
inputTxAddress = viInput?.address;
|
|
297
301
|
return !!inputTxAddress;
|
|
298
302
|
});
|
|
299
303
|
if (isWithdraw && inputTxAddress) {
|
|
@@ -316,9 +320,9 @@ function extractTransactionsAndBlockInfoFromRawBlock(rawBlockHex, blockNumber, a
|
|
|
316
320
|
return {
|
|
317
321
|
txId: Buffer.from(vi.hash).reverse().toString("hex"),
|
|
318
322
|
index: vi.index,
|
|
319
|
-
address: viInput
|
|
320
|
-
script: viInput
|
|
321
|
-
value: viInput
|
|
323
|
+
address: viInput?.address,
|
|
324
|
+
script: viInput?.script,
|
|
325
|
+
value: viInput?.value,
|
|
322
326
|
};
|
|
323
327
|
}),
|
|
324
328
|
address: inputTxAddress,
|
|
@@ -363,7 +367,6 @@ function extractTransactionsAndBlockInfoFromRawBlock(rawBlockHex, blockNumber, a
|
|
|
363
367
|
depositTxs,
|
|
364
368
|
};
|
|
365
369
|
}
|
|
366
|
-
exports.extractTransactionsAndBlockInfoFromRawBlock = extractTransactionsAndBlockInfoFromRawBlock;
|
|
367
370
|
function validateAddress(address, network = bitcoin.networks.bitcoin) {
|
|
368
371
|
try {
|
|
369
372
|
let isValid = false;
|
|
@@ -384,7 +387,6 @@ function validateAddress(address, network = bitcoin.networks.bitcoin) {
|
|
|
384
387
|
return false;
|
|
385
388
|
}
|
|
386
389
|
}
|
|
387
|
-
exports.validateAddress = validateAddress;
|
|
388
390
|
function toXOnlyPublicKey(pubKey) {
|
|
389
391
|
return pubKey.length === 32 ? pubKey : pubKey.slice(1, 33);
|
|
390
392
|
}
|
|
@@ -426,7 +428,6 @@ function createAddressObjectByScript({ addressType, script }, network = bitcoin.
|
|
|
426
428
|
}
|
|
427
429
|
return addressObject;
|
|
428
430
|
}
|
|
429
|
-
exports.createAddressObjectByScript = createAddressObjectByScript;
|
|
430
431
|
function createAddressObjectByHash({ addressType, hash }, network = bitcoin.networks.bitcoin) {
|
|
431
432
|
let addressObject;
|
|
432
433
|
switch (addressType) {
|
|
@@ -465,7 +466,6 @@ function createAddressObjectByHash({ addressType, hash }, network = bitcoin.netw
|
|
|
465
466
|
}
|
|
466
467
|
return addressObject;
|
|
467
468
|
}
|
|
468
|
-
exports.createAddressObjectByHash = createAddressObjectByHash;
|
|
469
469
|
function createAddressObjectByPublicKey({ addressType, publicKey }, network = bitcoin.networks.bitcoin) {
|
|
470
470
|
let addressObject;
|
|
471
471
|
switch (addressType) {
|
|
@@ -500,14 +500,53 @@ function createAddressObjectByPublicKey({ addressType, publicKey }, network = bi
|
|
|
500
500
|
}
|
|
501
501
|
return addressObject;
|
|
502
502
|
}
|
|
503
|
-
exports.createAddressObjectByPublicKey = createAddressObjectByPublicKey;
|
|
504
503
|
function publicKeyConvertor(publicKeyHex, compressed = true) {
|
|
505
504
|
let pubkey = ECPair.fromPublicKey(Buffer.from(publicKeyHex, "hex"), {
|
|
506
505
|
compressed,
|
|
507
506
|
});
|
|
508
507
|
return pubkey.publicKey.toString("hex");
|
|
509
508
|
}
|
|
510
|
-
|
|
509
|
+
function createMultisigAddressObjectByPublicKeys(addressType, multisig, network = bitcoin.networks.bitcoin) {
|
|
510
|
+
let addressObject;
|
|
511
|
+
switch (addressType) {
|
|
512
|
+
case "p2sh":
|
|
513
|
+
addressObject = bitcoin.payments.p2sh({
|
|
514
|
+
redeem: bitcoin.payments.p2ms({
|
|
515
|
+
m: multisig.numberOfSigners || multisig.publicKeys.length,
|
|
516
|
+
pubkeys: multisig.publicKeys,
|
|
517
|
+
network,
|
|
518
|
+
}),
|
|
519
|
+
network,
|
|
520
|
+
});
|
|
521
|
+
break;
|
|
522
|
+
case "p2wsh":
|
|
523
|
+
addressObject = bitcoin.payments.p2wsh({
|
|
524
|
+
redeem: bitcoin.payments.p2ms({
|
|
525
|
+
m: multisig.numberOfSigners || multisig.publicKeys.length,
|
|
526
|
+
pubkeys: multisig.publicKeys,
|
|
527
|
+
network,
|
|
528
|
+
}),
|
|
529
|
+
network,
|
|
530
|
+
});
|
|
531
|
+
break;
|
|
532
|
+
case "p2sh-p2wsh":
|
|
533
|
+
addressObject = bitcoin.payments.p2sh({
|
|
534
|
+
redeem: bitcoin.payments.p2wsh({
|
|
535
|
+
redeem: bitcoin.payments.p2ms({
|
|
536
|
+
m: multisig.numberOfSigners || multisig.publicKeys.length,
|
|
537
|
+
pubkeys: multisig.publicKeys,
|
|
538
|
+
network,
|
|
539
|
+
}),
|
|
540
|
+
network,
|
|
541
|
+
}),
|
|
542
|
+
network,
|
|
543
|
+
});
|
|
544
|
+
break;
|
|
545
|
+
default:
|
|
546
|
+
throw new Error("address type is incorrect");
|
|
547
|
+
}
|
|
548
|
+
return addressObject;
|
|
549
|
+
}
|
|
511
550
|
exports.addressTypeHelper = {
|
|
512
551
|
addressTypesNumber: { p2pk: 0, p2pkh: 1, p2sh: 2, p2wpkh: 3, p2wsh: 4, p2tr: 5 },
|
|
513
552
|
addressTypes: ["p2pk", "p2pkh", "p2sh", "p2wpkh", "p2wsh", "p2tr"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitcoin-utils.js","sourceRoot":"","sources":["../src/bitcoin-utils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bitcoin-utils.js","sourceRoot":"","sources":["../src/bitcoin-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { Network, Payment } from "bitcoinjs-lib";
|
|
3
2
|
import { BitcoinTransactionBuilder } from "./transaction-builder";
|
|
4
3
|
import type { RPCConnectionInfo, UtxoConnectionInfo } from "./type";
|
|
5
4
|
import type { ExtendedUtxo, SignerInfo, Target, TargetAddress } from "./transaction-builder/transaction-builder";
|
|
6
|
-
import
|
|
5
|
+
import BitcoinSigner from "./sign/sign-transaction";
|
|
7
6
|
import { BitcoinInterfaceWallet } from "./bitcoin-interface-wallet";
|
|
8
7
|
export type FeeRateType = "normal" | "slow" | "fast" | number;
|
|
9
8
|
export declare class BitcoinBaseWallet {
|
|
9
|
+
SINGLESIG_TYPES: string[];
|
|
10
|
+
MULTISIG_TYPES: string[];
|
|
10
11
|
network: Network;
|
|
11
12
|
hdWalletPath: {
|
|
12
13
|
p2pkh: string;
|
|
@@ -19,27 +20,35 @@ export declare class BitcoinBaseWallet {
|
|
|
19
20
|
};
|
|
20
21
|
transactionBuilder: BitcoinTransactionBuilder;
|
|
21
22
|
btcInterface: BitcoinInterfaceWallet;
|
|
22
|
-
signer:
|
|
23
|
+
signer: BitcoinSigner;
|
|
23
24
|
currentAccount?: string;
|
|
24
25
|
currentAccountType?: string;
|
|
26
|
+
addressObj?: Payment;
|
|
25
27
|
privateKey?: Buffer;
|
|
26
28
|
publicKey?: Buffer;
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
multisig?: {
|
|
30
|
+
publicKeys: Buffer[];
|
|
31
|
+
numberOfSigners: number;
|
|
32
|
+
};
|
|
30
33
|
constructor(networkName: string, connectionInfo?: {
|
|
31
34
|
utxo?: UtxoConnectionInfo;
|
|
32
35
|
rpc?: RPCConnectionInfo;
|
|
33
36
|
});
|
|
34
37
|
static satoshiToBTC(satoshi: number | string): string;
|
|
35
38
|
static btcToSatoshi(btc: number | string): string;
|
|
39
|
+
get bitcoinAddress(): string | undefined;
|
|
36
40
|
get signerInfo(): {
|
|
37
41
|
address: string;
|
|
38
|
-
publicKey: string;
|
|
39
42
|
addressType: string;
|
|
43
|
+
publicKey: string;
|
|
44
|
+
publicKeys: string[] | undefined;
|
|
45
|
+
numberOfSigners: number | undefined;
|
|
40
46
|
} | undefined;
|
|
41
|
-
setAccountPrivateKey(privateKeyHex: string): void;
|
|
42
|
-
setAccountType(accountType?: string
|
|
47
|
+
setAccountPrivateKey(privateKeyHex: string, accountType?: string): void;
|
|
48
|
+
setAccountType(accountType?: string, multisig?: {
|
|
49
|
+
publicKeys: string[];
|
|
50
|
+
numberOfSigners?: number;
|
|
51
|
+
}): string;
|
|
43
52
|
setAccountPrivateKeyByMnemonic({ mnemonic, mnemonicPassword, index, walletNumber, addressType, }: {
|
|
44
53
|
mnemonic: string;
|
|
45
54
|
mnemonicPassword?: string;
|
|
@@ -62,7 +71,7 @@ export declare class BitcoinBaseWallet {
|
|
|
62
71
|
getFeeRate(feeRate?: FeeRateType): Promise<number>;
|
|
63
72
|
sendBTC(receiverAddress: string, amountInSatoshi: number | "all", fee?: FeeRateType, staticExtendedUtxo?: ExtendedUtxo[]): Promise<any>;
|
|
64
73
|
sendBTCMultipleAddress(receivers: TargetAddress[], fee?: FeeRateType, staticExtendedUtxo?: ExtendedUtxo[]): Promise<any>;
|
|
65
|
-
sendBTCToMultipleAddressUnsignedTx(receivers: TargetAddress[], signerInfo: SignerInfo, fee?: FeeRateType, staticExtendedUtxo?: ExtendedUtxo[], fullAmount?: boolean): Promise<{
|
|
74
|
+
sendBTCToMultipleAddressUnsignedTx(receivers: TargetAddress[], signerInfo: SignerInfo, fee?: FeeRateType, staticExtendedUtxo?: ExtendedUtxo[], fullAmount?: boolean, requiredUtxo?: ExtendedUtxo[]): Promise<{
|
|
66
75
|
unsignedTransaction: string;
|
|
67
76
|
outputs: Target[];
|
|
68
77
|
inputs: {
|
|
@@ -72,10 +81,11 @@ export declare class BitcoinBaseWallet {
|
|
|
72
81
|
signerInfo: SignerInfo;
|
|
73
82
|
}[];
|
|
74
83
|
fee: number;
|
|
84
|
+
feeRate: number;
|
|
75
85
|
change: import("./transaction-builder").ChangeTarget | undefined;
|
|
76
86
|
possibleTxId: string | undefined;
|
|
77
87
|
}>;
|
|
78
|
-
sendBTCUnsignedTx(receiver: string, amountInSatoshi: number | "all", signerInfo: SignerInfo, fee?: FeeRateType, staticExtendedUtxo?: ExtendedUtxo[]): Promise<{
|
|
88
|
+
sendBTCUnsignedTx(receiver: string, amountInSatoshi: number | "all", signerInfo: SignerInfo, fee?: FeeRateType, staticExtendedUtxo?: ExtendedUtxo[], requiredUtxo?: ExtendedUtxo[]): Promise<{
|
|
79
89
|
unsignedTransaction: string;
|
|
80
90
|
outputs: Target[];
|
|
81
91
|
inputs: {
|
|
@@ -85,6 +95,7 @@ export declare class BitcoinBaseWallet {
|
|
|
85
95
|
signerInfo: SignerInfo;
|
|
86
96
|
}[];
|
|
87
97
|
fee: number;
|
|
98
|
+
feeRate: number;
|
|
88
99
|
change: import("./transaction-builder").ChangeTarget | undefined;
|
|
89
100
|
possibleTxId: string | undefined;
|
|
90
101
|
}>;
|
|
@@ -105,6 +116,7 @@ export declare class BitcoinBaseWallet {
|
|
|
105
116
|
signerInfo: SignerInfo;
|
|
106
117
|
}[];
|
|
107
118
|
fee: number;
|
|
119
|
+
feeRate: number;
|
|
108
120
|
change: import("./transaction-builder").ChangeTarget | undefined;
|
|
109
121
|
possibleTxId: string | undefined;
|
|
110
122
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bitcoin-wallet-base.d.ts","sourceRoot":"","sources":["../src/bitcoin-wallet-base.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bitcoin-wallet-base.d.ts","sourceRoot":"","sources":["../src/bitcoin-wallet-base.ts"],"names":[],"mappings":"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"}
|