@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.
Files changed (64) hide show
  1. package/AUDIT/README.md +9 -0
  2. package/CHANGELOG.md +5 -0
  3. package/README.md +62 -18
  4. package/SECURITY.md +71 -0
  5. package/browser/_version.d.ts +1 -1
  6. package/browser/abi/ABICoder.d.ts +8 -0
  7. package/browser/buffer/BinaryReader.d.ts +16 -1
  8. package/browser/buffer/BinaryWriter.d.ts +11 -1
  9. package/browser/deterministic/ExtendedAddressMap.d.ts +19 -0
  10. package/browser/index.js +1201 -874
  11. package/browser/keypair/Address.d.ts +4 -1
  12. package/browser/mnemonic/Mnemonic.d.ts +1 -1
  13. package/browser/noble-curves.js +1087 -1116
  14. package/browser/noble-hashes.js +25 -25
  15. package/browser/opnet.d.ts +1 -0
  16. package/browser/transaction/browser/WalletNetworks.d.ts +3 -3
  17. package/browser/transaction/browser/types/Unisat.d.ts +2 -2
  18. package/browser/utils/lengths.d.ts +3 -1
  19. package/browser/utils/types.d.ts +3 -0
  20. package/browser/vendors.js +950 -911
  21. package/build/_version.d.ts +1 -1
  22. package/build/_version.js +1 -1
  23. package/build/abi/ABICoder.d.ts +8 -0
  24. package/build/abi/ABICoder.js +32 -0
  25. package/build/buffer/BinaryReader.d.ts +16 -1
  26. package/build/buffer/BinaryReader.js +66 -1
  27. package/build/buffer/BinaryWriter.d.ts +11 -1
  28. package/build/buffer/BinaryWriter.js +66 -1
  29. package/build/deterministic/ExtendedAddressMap.d.ts +19 -0
  30. package/build/deterministic/ExtendedAddressMap.js +87 -0
  31. package/build/keypair/Address.d.ts +4 -1
  32. package/build/keypair/Address.js +48 -13
  33. package/build/mnemonic/Mnemonic.d.ts +1 -1
  34. package/build/mnemonic/Mnemonic.js +2 -2
  35. package/build/opnet.d.ts +1 -0
  36. package/build/opnet.js +1 -0
  37. package/build/transaction/browser/WalletNetworks.d.ts +3 -3
  38. package/build/transaction/browser/WalletNetworks.js +3 -3
  39. package/build/transaction/browser/extensions/UnisatSigner.js +3 -3
  40. package/build/transaction/browser/types/Unisat.d.ts +2 -2
  41. package/build/transaction/builders/MultiSignTransaction.js +2 -2
  42. package/build/transaction/shared/TweakedTransaction.js +3 -3
  43. package/build/tsconfig.build.tsbuildinfo +1 -1
  44. package/build/utils/lengths.d.ts +3 -1
  45. package/build/utils/lengths.js +3 -1
  46. package/build/utils/types.d.ts +3 -0
  47. package/package.json +13 -13
  48. package/src/_version.ts +1 -1
  49. package/src/abi/ABICoder.ts +43 -0
  50. package/src/buffer/BinaryReader.ts +158 -2
  51. package/src/buffer/BinaryWriter.ts +143 -1
  52. package/src/deterministic/ExtendedAddressMap.ts +122 -0
  53. package/src/keypair/Address.ts +79 -14
  54. package/src/mnemonic/Mnemonic.ts +2 -2
  55. package/src/opnet.ts +1 -0
  56. package/src/transaction/browser/WalletNetworks.ts +3 -3
  57. package/src/transaction/browser/extensions/UnisatSigner.ts +3 -3
  58. package/src/transaction/browser/types/Unisat.ts +2 -2
  59. package/src/transaction/builders/MultiSignTransaction.ts +2 -2
  60. package/src/transaction/shared/TweakedTransaction.ts +3 -3
  61. package/src/utils/lengths.ts +3 -1
  62. package/src/utils/types.ts +4 -1
  63. package/test/binary-reader-writer.test.ts +457 -0
  64. 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
- deriveUnisat(addressType = AddressTypes.P2TR, index = 0, account = 0, isChange = false) {
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.deriveUnisat(addressType, startIndex + i, account, isChange));
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,7 +1,7 @@
1
1
  export declare enum WalletNetworks {
2
- testnet = "testnet",
3
- mainnet = "mainnet",
4
- regtest = "regtest"
2
+ Mainnet = "mainnet",
3
+ Testnet = "testnet",
4
+ Regtest = "regtest"
5
5
  }
6
6
  export declare enum UnisatChainType {
7
7
  BITCOIN_MAINNET = "BITCOIN_MAINNET",
@@ -1,8 +1,8 @@
1
1
  export var WalletNetworks;
2
2
  (function (WalletNetworks) {
3
- WalletNetworks["testnet"] = "testnet";
4
- WalletNetworks["mainnet"] = "mainnet";
5
- WalletNetworks["regtest"] = "regtest";
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.mainnet:
64
+ case WalletNetworks.Mainnet:
65
65
  this._network = networks.bitcoin;
66
66
  break;
67
- case WalletNetworks.testnet:
67
+ case WalletNetworks.Testnet:
68
68
  this._network = networks.testnet;
69
69
  break;
70
- case WalletNetworks.regtest:
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
- delete input.finalScriptWitness;
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
- delete input.finalScriptWitness;
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
- delete input.nonWitnessUtxo;
518
+ Reflect.deleteProperty(input, 'nonWitnessUtxo');
519
519
  }
520
520
  else if (isP2WSHScript(redeemOutput)) {
521
- delete input.nonWitnessUtxo;
521
+ Reflect.deleteProperty(input, 'nonWitnessUtxo');
522
522
  this.processP2WSHInput(utxo, input, i);
523
523
  }
524
524
  else {
525
- delete input.witnessUtxo;
525
+ Reflect.deleteProperty(input, 'witnessUtxo');
526
526
  }
527
527
  }
528
528
  else if (isP2TR(scriptPub)) {