@btc-vision/transaction 1.7.31 → 1.8.0-alpha.2
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/AUDIT/README.md +9 -0
- package/CHANGELOG.md +5 -0
- package/README.md +62 -18
- package/SECURITY.md +71 -0
- package/browser/_version.d.ts +1 -1
- package/browser/abi/ABICoder.d.ts +8 -0
- package/browser/buffer/BinaryReader.d.ts +16 -1
- package/browser/buffer/BinaryWriter.d.ts +11 -1
- package/browser/deterministic/ExtendedAddressMap.d.ts +19 -0
- package/browser/index.js +1201 -874
- package/browser/keypair/Address.d.ts +4 -1
- package/browser/mnemonic/Mnemonic.d.ts +1 -1
- package/browser/noble-curves.js +1087 -1116
- package/browser/noble-hashes.js +25 -25
- package/browser/opnet.d.ts +1 -0
- package/browser/transaction/browser/WalletNetworks.d.ts +3 -3
- package/browser/transaction/browser/types/Unisat.d.ts +2 -2
- package/browser/utils/lengths.d.ts +3 -1
- package/browser/utils/types.d.ts +3 -0
- package/browser/vendors.js +950 -911
- package/build/_version.d.ts +1 -1
- package/build/_version.js +1 -1
- package/build/abi/ABICoder.d.ts +8 -0
- package/build/abi/ABICoder.js +32 -0
- package/build/buffer/BinaryReader.d.ts +16 -1
- package/build/buffer/BinaryReader.js +66 -1
- package/build/buffer/BinaryWriter.d.ts +11 -1
- package/build/buffer/BinaryWriter.js +66 -1
- package/build/deterministic/ExtendedAddressMap.d.ts +19 -0
- package/build/deterministic/ExtendedAddressMap.js +87 -0
- package/build/keypair/Address.d.ts +4 -1
- package/build/keypair/Address.js +48 -13
- package/build/mnemonic/Mnemonic.d.ts +1 -1
- package/build/mnemonic/Mnemonic.js +2 -2
- package/build/opnet.d.ts +1 -0
- package/build/opnet.js +1 -0
- package/build/transaction/browser/WalletNetworks.d.ts +3 -3
- package/build/transaction/browser/WalletNetworks.js +3 -3
- package/build/transaction/browser/extensions/UnisatSigner.js +3 -3
- package/build/transaction/browser/types/Unisat.d.ts +2 -2
- package/build/transaction/builders/MultiSignTransaction.js +2 -2
- package/build/transaction/shared/TweakedTransaction.js +3 -3
- package/build/tsconfig.build.tsbuildinfo +1 -1
- package/build/utils/lengths.d.ts +3 -1
- package/build/utils/lengths.js +3 -1
- package/build/utils/types.d.ts +3 -0
- package/package.json +13 -13
- package/src/_version.ts +1 -1
- package/src/abi/ABICoder.ts +43 -0
- package/src/buffer/BinaryReader.ts +158 -2
- package/src/buffer/BinaryWriter.ts +143 -1
- package/src/deterministic/ExtendedAddressMap.ts +122 -0
- package/src/keypair/Address.ts +79 -14
- package/src/mnemonic/Mnemonic.ts +2 -2
- package/src/opnet.ts +1 -0
- package/src/transaction/browser/WalletNetworks.ts +3 -3
- package/src/transaction/browser/extensions/UnisatSigner.ts +3 -3
- package/src/transaction/browser/types/Unisat.ts +2 -2
- package/src/transaction/builders/MultiSignTransaction.ts +2 -2
- package/src/transaction/shared/TweakedTransaction.ts +3 -3
- package/src/utils/lengths.ts +3 -1
- package/src/utils/types.ts +4 -1
- package/test/binary-reader-writer.test.ts +457 -0
- package/test/derivePath.test.ts +26 -25
|
@@ -57,7 +57,7 @@ export class Mnemonic {
|
|
|
57
57
|
}
|
|
58
58
|
return new Wallet(Buffer.from(classicalChild.privateKey).toString('hex'), Buffer.from(quantumChild.privateKey).toString('hex'), this._network, this._securityLevel, Buffer.from(this._quantumRoot.chainCode));
|
|
59
59
|
}
|
|
60
|
-
|
|
60
|
+
deriveOPWallet(addressType = AddressTypes.P2TR, index = 0, account = 0, isChange = false) {
|
|
61
61
|
let purpose;
|
|
62
62
|
switch (addressType) {
|
|
63
63
|
case AddressTypes.P2PKH:
|
|
@@ -92,7 +92,7 @@ export class Mnemonic {
|
|
|
92
92
|
deriveMultipleUnisat(addressType = AddressTypes.P2TR, count = 5, startIndex = 0, account = 0, isChange = false) {
|
|
93
93
|
const wallets = [];
|
|
94
94
|
for (let i = 0; i < count; i++) {
|
|
95
|
-
wallets.push(this.
|
|
95
|
+
wallets.push(this.deriveOPWallet(addressType, startIndex + i, account, isChange));
|
|
96
96
|
}
|
|
97
97
|
return wallets;
|
|
98
98
|
}
|
package/build/opnet.d.ts
CHANGED
|
@@ -79,6 +79,7 @@ export * from './abi/ABICoder.js';
|
|
|
79
79
|
export * from './buffer/BinaryReader.js';
|
|
80
80
|
export * from './buffer/BinaryWriter.js';
|
|
81
81
|
export * from './deterministic/AddressMap.js';
|
|
82
|
+
export * from './deterministic/ExtendedAddressMap.js';
|
|
82
83
|
export * from './deterministic/AddressSet.js';
|
|
83
84
|
export * from './deterministic/DeterministicMap.js';
|
|
84
85
|
export * from './deterministic/DeterministicSet.js';
|
package/build/opnet.js
CHANGED
|
@@ -74,6 +74,7 @@ export * from './abi/ABICoder.js';
|
|
|
74
74
|
export * from './buffer/BinaryReader.js';
|
|
75
75
|
export * from './buffer/BinaryWriter.js';
|
|
76
76
|
export * from './deterministic/AddressMap.js';
|
|
77
|
+
export * from './deterministic/ExtendedAddressMap.js';
|
|
77
78
|
export * from './deterministic/AddressSet.js';
|
|
78
79
|
export * from './deterministic/DeterministicMap.js';
|
|
79
80
|
export * from './deterministic/DeterministicSet.js';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export var WalletNetworks;
|
|
2
2
|
(function (WalletNetworks) {
|
|
3
|
-
WalletNetworks["
|
|
4
|
-
WalletNetworks["
|
|
5
|
-
WalletNetworks["
|
|
3
|
+
WalletNetworks["Mainnet"] = "mainnet";
|
|
4
|
+
WalletNetworks["Testnet"] = "testnet";
|
|
5
|
+
WalletNetworks["Regtest"] = "regtest";
|
|
6
6
|
})(WalletNetworks || (WalletNetworks = {}));
|
|
7
7
|
export var UnisatChainType;
|
|
8
8
|
(function (UnisatChainType) {
|
|
@@ -61,13 +61,13 @@ export class UnisatSigner extends CustomKeypair {
|
|
|
61
61
|
}
|
|
62
62
|
const network = await this.unisat.getNetwork();
|
|
63
63
|
switch (network) {
|
|
64
|
-
case WalletNetworks.
|
|
64
|
+
case WalletNetworks.Mainnet:
|
|
65
65
|
this._network = networks.bitcoin;
|
|
66
66
|
break;
|
|
67
|
-
case WalletNetworks.
|
|
67
|
+
case WalletNetworks.Testnet:
|
|
68
68
|
this._network = networks.testnet;
|
|
69
69
|
break;
|
|
70
|
-
case WalletNetworks.
|
|
70
|
+
case WalletNetworks.Regtest:
|
|
71
71
|
this._network = networks.regtest;
|
|
72
72
|
break;
|
|
73
73
|
default:
|
|
@@ -39,8 +39,8 @@ export interface PsbtSignatureOptions {
|
|
|
39
39
|
}
|
|
40
40
|
export interface Unisat {
|
|
41
41
|
web3?: Web3Provider;
|
|
42
|
-
disconnect: () => void
|
|
43
|
-
connect: () => void
|
|
42
|
+
disconnect: () => Promise<void>;
|
|
43
|
+
connect: () => Promise<void>;
|
|
44
44
|
sendBitcoin(toAddress: string, satoshis: number, options: {
|
|
45
45
|
feeRate: number;
|
|
46
46
|
memo?: string;
|
|
@@ -109,7 +109,7 @@ export class MultiSignTransaction extends TransactionBuilder {
|
|
|
109
109
|
}
|
|
110
110
|
input.tapScriptSig = (input.tapScriptSig || []).concat(partialSignatures);
|
|
111
111
|
}
|
|
112
|
-
|
|
112
|
+
Reflect.deleteProperty(input, 'finalScriptWitness');
|
|
113
113
|
const signHashTypes = MultiSignTransaction.signHashTypesArray
|
|
114
114
|
? [MultiSignTransaction.calculateSignHash(MultiSignTransaction.signHashTypesArray)]
|
|
115
115
|
: [];
|
|
@@ -172,7 +172,7 @@ export class MultiSignTransaction extends TransactionBuilder {
|
|
|
172
172
|
];
|
|
173
173
|
input.tapScriptSig = MultiSignTransaction.dedupeSignatures(input.tapScriptSig || [], partialSignatures);
|
|
174
174
|
}
|
|
175
|
-
|
|
175
|
+
Reflect.deleteProperty(input, 'finalScriptWitness');
|
|
176
176
|
psbt.finalizeInput(i, (inputIndex, input) => {
|
|
177
177
|
return MultiSignTransaction.partialFinalizer(inputIndex, input, [], orderedPubKeys[i - startIndex], isFinal);
|
|
178
178
|
});
|
|
@@ -515,14 +515,14 @@ export class TweakedTransaction extends Logger {
|
|
|
515
515
|
: Buffer.from(utxo.nonWitnessUtxo, 'hex');
|
|
516
516
|
}
|
|
517
517
|
if (isP2WPKH(redeemOutput)) {
|
|
518
|
-
|
|
518
|
+
Reflect.deleteProperty(input, 'nonWitnessUtxo');
|
|
519
519
|
}
|
|
520
520
|
else if (isP2WSHScript(redeemOutput)) {
|
|
521
|
-
|
|
521
|
+
Reflect.deleteProperty(input, 'nonWitnessUtxo');
|
|
522
522
|
this.processP2WSHInput(utxo, input, i);
|
|
523
523
|
}
|
|
524
524
|
else {
|
|
525
|
-
|
|
525
|
+
Reflect.deleteProperty(input, 'witnessUtxo');
|
|
526
526
|
}
|
|
527
527
|
}
|
|
528
528
|
else if (isP2TR(scriptPub)) {
|