mainnet-js 2.7.34 → 3.0.0-next.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.
Files changed (195) hide show
  1. package/dist/index.html +1 -1
  2. package/dist/{mainnet-2.7.34.js → mainnet-3.0.0-next.1.js} +728 -708
  3. package/dist/module/cache/MemoryCache.d.ts +0 -1
  4. package/dist/module/cache/MemoryCache.d.ts.map +1 -1
  5. package/dist/module/cache/MemoryCache.js +5 -7
  6. package/dist/module/cache/MemoryCache.js.map +1 -1
  7. package/dist/module/cache/index.d.ts +1 -0
  8. package/dist/module/cache/index.d.ts.map +1 -1
  9. package/dist/module/cache/index.js +1 -0
  10. package/dist/module/cache/index.js.map +1 -1
  11. package/dist/module/cache/walletCache.d.ts +45 -0
  12. package/dist/module/cache/walletCache.d.ts.map +1 -0
  13. package/dist/module/cache/walletCache.js +140 -0
  14. package/dist/module/cache/walletCache.js.map +1 -0
  15. package/dist/module/chain.d.ts +1 -1
  16. package/dist/module/chain.js +1 -1
  17. package/dist/module/chain.js.map +1 -1
  18. package/dist/module/constant.d.ts +1 -1
  19. package/dist/module/constant.d.ts.map +1 -1
  20. package/dist/module/constant.js +1 -1
  21. package/dist/module/constant.js.map +1 -1
  22. package/dist/module/enum.d.ts +1 -7
  23. package/dist/module/enum.d.ts.map +1 -1
  24. package/dist/module/enum.js +0 -6
  25. package/dist/module/enum.js.map +1 -1
  26. package/dist/module/history/{electrumTransformer.d.ts → getHistory.d.ts} +3 -3
  27. package/dist/module/history/getHistory.d.ts.map +1 -0
  28. package/dist/module/history/{electrumTransformer.js → getHistory.js} +17 -14
  29. package/dist/module/history/getHistory.js.map +1 -0
  30. package/dist/module/index.d.ts +3 -1
  31. package/dist/module/index.d.ts.map +1 -1
  32. package/dist/module/index.js +3 -1
  33. package/dist/module/index.js.map +1 -1
  34. package/dist/module/interface.d.ts +7 -2
  35. package/dist/module/interface.d.ts.map +1 -1
  36. package/dist/module/interface.js.map +1 -1
  37. package/dist/module/message/interface.d.ts +2 -2
  38. package/dist/module/message/interface.d.ts.map +1 -1
  39. package/dist/module/message/interface.js +0 -3
  40. package/dist/module/message/interface.js.map +1 -1
  41. package/dist/module/message/signed.d.ts +5 -5
  42. package/dist/module/message/signed.d.ts.map +1 -1
  43. package/dist/module/message/signed.js +8 -8
  44. package/dist/module/message/signed.js.map +1 -1
  45. package/dist/module/network/ElectrumNetworkProvider.d.ts +2 -2
  46. package/dist/module/network/ElectrumNetworkProvider.d.ts.map +1 -1
  47. package/dist/module/network/ElectrumNetworkProvider.js +3 -2
  48. package/dist/module/network/ElectrumNetworkProvider.js.map +1 -1
  49. package/dist/module/network/NetworkProvider.d.ts +2 -2
  50. package/dist/module/network/NetworkProvider.d.ts.map +1 -1
  51. package/dist/module/network/constant.js +4 -4
  52. package/dist/module/network/constant.js.map +1 -1
  53. package/dist/module/network/getRelayFeeCache.js +2 -2
  54. package/dist/module/network/getRelayFeeCache.js.map +1 -1
  55. package/dist/module/rate/ExchangeRate.d.ts +2 -1
  56. package/dist/module/rate/ExchangeRate.d.ts.map +1 -1
  57. package/dist/module/rate/ExchangeRate.js +4 -1
  58. package/dist/module/rate/ExchangeRate.js.map +1 -1
  59. package/dist/module/transaction/Wif.d.ts +25 -23
  60. package/dist/module/transaction/Wif.d.ts.map +1 -1
  61. package/dist/module/transaction/Wif.js +26 -25
  62. package/dist/module/transaction/Wif.js.map +1 -1
  63. package/dist/module/transaction/allocateFee.d.ts +3 -3
  64. package/dist/module/transaction/allocateFee.d.ts.map +1 -1
  65. package/dist/module/transaction/allocateFee.js +5 -6
  66. package/dist/module/transaction/allocateFee.js.map +1 -1
  67. package/dist/module/util/amountInSatoshi.d.ts +1 -1
  68. package/dist/module/util/amountInSatoshi.d.ts.map +1 -1
  69. package/dist/module/util/amountInSatoshi.js +3 -9
  70. package/dist/module/util/amountInSatoshi.js.map +1 -1
  71. package/dist/module/util/asSendRequestObject.d.ts.map +1 -1
  72. package/dist/module/util/asSendRequestObject.js +10 -7
  73. package/dist/module/util/asSendRequestObject.js.map +1 -1
  74. package/dist/module/util/checkUtxos.d.ts +2 -2
  75. package/dist/module/util/checkUtxos.d.ts.map +1 -1
  76. package/dist/module/util/checkUtxos.js +11 -12
  77. package/dist/module/util/checkUtxos.js.map +1 -1
  78. package/dist/module/util/convert.d.ts +3 -0
  79. package/dist/module/util/convert.d.ts.map +1 -1
  80. package/dist/module/util/convert.js +12 -0
  81. package/dist/module/util/convert.js.map +1 -1
  82. package/dist/module/util/deriveCashaddr.d.ts.map +1 -1
  83. package/dist/module/util/deriveCashaddr.js +6 -0
  84. package/dist/module/util/deriveCashaddr.js.map +1 -1
  85. package/dist/module/util/deriveNetwork.js +1 -1
  86. package/dist/module/util/deriveNetwork.js.map +1 -1
  87. package/dist/module/util/hd.d.ts +3 -0
  88. package/dist/module/util/hd.d.ts.map +1 -0
  89. package/dist/module/util/hd.js +11 -0
  90. package/dist/module/util/hd.js.map +1 -0
  91. package/dist/module/util/index.d.ts +3 -3
  92. package/dist/module/util/index.d.ts.map +1 -1
  93. package/dist/module/util/index.js +3 -3
  94. package/dist/module/util/index.js.map +1 -1
  95. package/dist/module/util/satoshiToAmount.d.ts +1 -1
  96. package/dist/module/util/satoshiToAmount.d.ts.map +1 -1
  97. package/dist/module/util/satoshiToAmount.js +3 -9
  98. package/dist/module/util/satoshiToAmount.js.map +1 -1
  99. package/dist/module/util/sumSendRequestAmounts.d.ts.map +1 -1
  100. package/dist/module/util/sumSendRequestAmounts.js +3 -4
  101. package/dist/module/util/sumSendRequestAmounts.js.map +1 -1
  102. package/dist/module/util/sumUtxoValue.d.ts +3 -3
  103. package/dist/module/util/sumUtxoValue.d.ts.map +1 -1
  104. package/dist/module/util/sumUtxoValue.js +2 -2
  105. package/dist/module/util/sumUtxoValue.js.map +1 -1
  106. package/dist/module/wallet/Base.d.ts +45 -103
  107. package/dist/module/wallet/Base.d.ts.map +1 -1
  108. package/dist/module/wallet/Base.js +99 -298
  109. package/dist/module/wallet/Base.js.map +1 -1
  110. package/dist/module/wallet/HDWallet.d.ts +164 -0
  111. package/dist/module/wallet/HDWallet.d.ts.map +1 -0
  112. package/dist/module/wallet/HDWallet.js +486 -0
  113. package/dist/module/wallet/HDWallet.js.map +1 -0
  114. package/dist/module/wallet/Util.js +1 -1
  115. package/dist/module/wallet/Util.js.map +1 -1
  116. package/dist/module/wallet/Watch.d.ts +151 -0
  117. package/dist/module/wallet/Watch.d.ts.map +1 -0
  118. package/dist/module/wallet/Watch.js +307 -0
  119. package/dist/module/wallet/Watch.js.map +1 -0
  120. package/dist/module/wallet/Wif.d.ts +23 -29
  121. package/dist/module/wallet/Wif.d.ts.map +1 -1
  122. package/dist/module/wallet/Wif.js +204 -267
  123. package/dist/module/wallet/Wif.js.map +1 -1
  124. package/dist/module/wallet/createWallet.d.ts +7 -1
  125. package/dist/module/wallet/createWallet.d.ts.map +1 -1
  126. package/dist/module/wallet/createWallet.js +26 -17
  127. package/dist/module/wallet/createWallet.js.map +1 -1
  128. package/dist/module/wallet/interface.d.ts +5 -6
  129. package/dist/module/wallet/interface.d.ts.map +1 -1
  130. package/dist/module/wallet/model.d.ts +15 -19
  131. package/dist/module/wallet/model.d.ts.map +1 -1
  132. package/dist/module/wallet/model.js +5 -25
  133. package/dist/module/wallet/model.js.map +1 -1
  134. package/dist/tsconfig.tsbuildinfo +1 -1
  135. package/package.json +1 -1
  136. package/src/cache/MemoryCache.ts +5 -5
  137. package/src/cache/index.ts +1 -0
  138. package/src/cache/walletCache.ts +239 -0
  139. package/src/chain.ts +1 -1
  140. package/src/constant.ts +1 -1
  141. package/src/enum.ts +0 -6
  142. package/src/history/{electrumTransformer.test.ts → getHistory.test.ts} +26 -53
  143. package/src/history/{electrumTransformer.ts → getHistory.ts} +31 -15
  144. package/src/index.ts +3 -1
  145. package/src/interface.ts +8 -2
  146. package/src/message/interface.ts +2 -28
  147. package/src/message/signed.test.ts +36 -48
  148. package/src/message/signed.ts +9 -12
  149. package/src/network/Connection.test.ts +3 -3
  150. package/src/network/ElectrumNetworkProvider.ts +5 -5
  151. package/src/network/NetworkProvider.ts +2 -2
  152. package/src/network/Rpc.test.ts +3 -4
  153. package/src/network/constant.ts +4 -4
  154. package/src/network/getRelayFeeCache.ts +2 -2
  155. package/src/rate/ExchangeRate.test.ts +2 -44
  156. package/src/rate/ExchangeRate.ts +5 -2
  157. package/src/transaction/Wif.ts +59 -52
  158. package/src/transaction/allocateFee.test.ts +110 -131
  159. package/src/transaction/allocateFee.ts +14 -15
  160. package/src/util/amountInSatoshi.test.ts +1 -9
  161. package/src/util/amountInSatoshi.ts +6 -10
  162. package/src/util/asSendRequestObject.ts +12 -7
  163. package/src/util/checkUtxos.ts +21 -26
  164. package/src/util/convert.ts +18 -0
  165. package/src/util/deriveCashaddr.ts +8 -0
  166. package/src/util/deriveNetwork.ts +1 -1
  167. package/src/util/derivePublicKeyHash.test.ts +0 -13
  168. package/src/util/hd.ts +16 -0
  169. package/src/util/index.ts +3 -7
  170. package/src/util/satoshiToAmount.test.ts +1 -1
  171. package/src/util/satoshiToAmount.ts +4 -10
  172. package/src/util/sumSendRequestAmounts.ts +3 -4
  173. package/src/util/sumUtxoValue.ts +7 -7
  174. package/src/wallet/Base.ts +147 -420
  175. package/src/wallet/Cashtokens.test.headless.js +11 -11
  176. package/src/wallet/Cashtokens.test.ts +36 -37
  177. package/src/wallet/HDWallet.test.ts +515 -0
  178. package/src/wallet/HDWallet.ts +764 -0
  179. package/src/wallet/Util.ts +1 -1
  180. package/src/wallet/Watch.ts +447 -0
  181. package/src/wallet/Wif.bip39.test.ts +1 -1
  182. package/src/wallet/Wif.test.ts +108 -133
  183. package/src/wallet/Wif.ts +258 -283
  184. package/src/wallet/createWallet.ts +28 -18
  185. package/src/wallet/interface.ts +5 -6
  186. package/src/wallet/model.test.ts +4 -7
  187. package/src/wallet/model.ts +19 -51
  188. package/dist/module/history/electrumTransformer.d.ts.map +0 -1
  189. package/dist/module/history/electrumTransformer.js.map +0 -1
  190. package/dist/module/util/balanceObjectFromSatoshi.d.ts +0 -8
  191. package/dist/module/util/balanceObjectFromSatoshi.d.ts.map +0 -1
  192. package/dist/module/util/balanceObjectFromSatoshi.js +0 -35
  193. package/dist/module/util/balanceObjectFromSatoshi.js.map +0 -1
  194. package/src/util/balanceObjectFromSatoshi.test.ts +0 -58
  195. package/src/util/balanceObjectFromSatoshi.ts +0 -52
@@ -1,90 +1,26 @@
1
1
  //#region Imports
2
- import { deriveSeedFromBip39Mnemonic, encodeHdPublicKey, generateBip39Mnemonic, hexToBin, secp256k1, } from "@bitauth/libauth";
3
- import { binToHex, CashAddressNetworkPrefix, decodePrivateKeyWif, deriveHdPath, deriveHdPrivateNodeFromSeed, deriveHdPublicNode, encodePrivateKeyWif, generatePrivateKey, } from "@bitauth/libauth";
2
+ import { assertSuccess, binToHex, CashAddressNetworkPrefix, decodePrivateKeyWif, deriveHdPath, deriveHdPrivateNodeFromSeed, deriveHdPublicNode, deriveSeedFromBip39Mnemonic, encodeHdPublicKey, encodePrivateKeyWif, generateBip39Mnemonic, generatePrivateKey, hexToBin, secp256k1, } from "@bitauth/libauth";
4
3
  import { NetworkType } from "../enum.js";
5
4
  import { WalletTypeEnum } from "./enum.js";
6
5
  import { XPubKey, } from "./model.js";
7
6
  import { signUnsignedTransaction } from "../transaction/Wif.js";
8
7
  import { DERIVATION_PATHS } from "../constant.js";
9
- import { SignedMessage } from "../message/index.js";
10
8
  import { checkForEmptySeed } from "../util/checkForEmptySeed.js";
11
9
  import { checkWifNetwork } from "../util/checkWifNetwork.js";
12
- import { deriveCashaddr, deriveTokenaddr } from "../util/deriveCashaddr.js";
13
- import { derivePublicKeyHash } from "../util/derivePublicKeyHash.js";
14
- import { getXPubKey } from "../util/getXPubKey.js";
15
10
  import { generateRandomBytes } from "../util/randomBytes.js";
16
11
  import { Config } from "../config.js";
17
- import { balanceResponseFromSatoshi, } from "../util/balanceObjectFromSatoshi.js";
18
- import { BaseWallet } from "./Base.js";
19
- //#endregion Imports
12
+ import { WatchWallet } from "./Watch.js";
20
13
  /**
21
14
  * Class to manage a bitcoin cash wallet.
22
15
  */
23
- export class Wallet extends BaseWallet {
24
- static { this.signedMessage = new SignedMessage(); }
25
- //#region Accessors
26
- // Get mnemonic and derivation path for wallet
27
- getSeed() {
28
- if (!this.mnemonic) {
29
- throw Error("Wallet mnemonic seed phrase not set");
30
- }
31
- if (!this.derivationPath) {
32
- throw Error("Wallet derivation path not set");
33
- }
34
- return {
35
- seed: this.mnemonic,
36
- derivationPath: this.derivationPath,
37
- parentDerivationPath: this.parentDerivationPath,
38
- };
39
- }
40
- // Return wallet info
41
- getInfo() {
42
- return {
43
- cashaddr: this.cashaddr,
44
- tokenaddr: this.tokenaddr,
45
- isTestnet: this.isTestnet,
46
- name: this.name,
47
- network: this.network,
48
- seed: this.mnemonic ? this.getSeed().seed : undefined,
49
- derivationPath: this.mnemonic ? this.getSeed().derivationPath : undefined,
50
- parentDerivationPath: this.mnemonic
51
- ? this.getSeed().parentDerivationPath
52
- : undefined,
53
- parentXPubKey: this.parentXPubKey ? this.parentXPubKey : undefined,
54
- publicKey: this.publicKey ? binToHex(this.publicKey) : undefined,
55
- publicKeyHash: binToHex(this.publicKeyHash),
56
- privateKey: this.privateKey ? binToHex(this.privateKey) : undefined,
57
- privateKeyWif: this.privateKeyWif,
58
- walletId: this.toString(),
59
- walletDbEntry: this.toDbString(),
60
- };
61
- }
62
- // returns the public key hash for an address
63
- getPublicKey(hex = false) {
64
- if (this.publicKey) {
65
- return hex ? binToHex(this.publicKey) : this.publicKey;
66
- }
67
- else {
68
- throw Error("The public key for this wallet is not known, perhaps the wallet was created to watch the *hash* of a public key? i.e. a cashaddress.");
69
- }
70
- }
71
- // returns the public key hash for an address
72
- getPublicKeyCompressed(hex = false) {
73
- if (this.publicKeyCompressed) {
74
- return hex
75
- ? binToHex(this.publicKeyCompressed)
76
- : this.publicKeyCompressed;
77
- }
78
- else {
79
- throw Error("The compressed public key for this wallet is not known, perhaps the wallet was created to watch the *hash* of a public key? i.e. a cashaddress.");
80
- }
81
- }
82
- //#endregion
16
+ export class Wallet extends WatchWallet {
83
17
  //#region Constructors and Statics
84
18
  constructor(name = "", network = NetworkType.Mainnet, walletType = WalletTypeEnum.Seed) {
85
- super(network);
19
+ super(name, network);
86
20
  this.derivationPath = Config.DefaultParentDerivationPath + "/0/0";
87
21
  this.parentDerivationPath = Config.DefaultParentDerivationPath;
22
+ //#endregion Constructors
23
+ //#region Protected implementations
88
24
  this.fromId = async (walletId) => {
89
25
  const [walletType, networkGiven, arg1, arg2] = walletId.split(":");
90
26
  if (this.network !== networkGiven) {
@@ -127,6 +63,187 @@ export class Wallet extends BaseWallet {
127
63
  // @ts-ignore
128
64
  this.walletType = walletType;
129
65
  }
66
+ /// Initialize the wallet given the options mnemonic, privateKey or publicKey variations
67
+ /// If none provided, a new random mnemonic will be generated
68
+ /// If mnemonic or private key provided, the wallet will be able to sign transactions
69
+ /// Otherwise, the wallet will be watch-only
70
+ /// This internal method is called by the various static constructors
71
+ async initialize({ name = "", mnemonic = undefined, derivationPath = undefined, privateKey = undefined, privateKeyWif = undefined, publicKey = undefined, publicKeyCompressed = undefined, publicKeyHash = undefined, address = undefined, } = {}) {
72
+ // seed wallet
73
+ if (this.walletType === WalletTypeEnum.Seed && !mnemonic) {
74
+ mnemonic = generateBip39Mnemonic();
75
+ }
76
+ if (mnemonic?.length) {
77
+ mnemonic = mnemonic.trim().toLowerCase();
78
+ if (mnemonic.split(" ").length !== 12) {
79
+ throw Error("Invalid mnemonic");
80
+ }
81
+ if (derivationPath) {
82
+ // @ts-ignore
83
+ this.derivationPath = derivationPath;
84
+ // If the derivation path is for the first account child, set the parent derivation path
85
+ const path = derivationPath.split("/");
86
+ if (path.slice(-2).join("/") == "0/0") {
87
+ // @ts-ignore
88
+ this.parentDerivationPath = path.slice(0, -2).join("/");
89
+ }
90
+ }
91
+ else {
92
+ derivationPath = Config.DefaultParentDerivationPath + "/0/0";
93
+ // @ts-ignore
94
+ this.parentDerivationPath = Config.DefaultParentDerivationPath;
95
+ }
96
+ // @ts-ignore
97
+ this.mnemonic = mnemonic;
98
+ // @ts-ignore
99
+ this.derivationPath = derivationPath;
100
+ const seed = deriveSeedFromBip39Mnemonic(this.mnemonic);
101
+ checkForEmptySeed(seed);
102
+ const rootNode = deriveHdPrivateNodeFromSeed(seed, {
103
+ assumeValidity: true,
104
+ throwErrors: true,
105
+ });
106
+ const parentNode = deriveHdPath(rootNode, this.parentDerivationPath);
107
+ // @ts-ignore
108
+ this.parentXPubKey = assertSuccess(encodeHdPublicKey({
109
+ node: deriveHdPublicNode(parentNode),
110
+ network: this.network === NetworkType.Mainnet ? "mainnet" : "testnet",
111
+ })).hdPublicKey;
112
+ const childNode = deriveHdPath(rootNode, this.derivationPath);
113
+ privateKey = childNode.privateKey;
114
+ }
115
+ // privkey wallet
116
+ if (this.walletType === WalletTypeEnum.PrivateKey && !privateKey) {
117
+ // @ts-ignore
118
+ this.privateKey = generatePrivateKey(() => generateRandomBytes(32));
119
+ }
120
+ if (privateKey?.length) {
121
+ // @ts-ignore
122
+ this.privateKey = privateKey;
123
+ privateKeyWif = encodePrivateKeyWif(privateKey, this.network === NetworkType.Regtest
124
+ ? NetworkType.Testnet
125
+ : this.network);
126
+ }
127
+ // wif wallet
128
+ if (this.walletType === WalletTypeEnum.Wif && !privateKeyWif) {
129
+ // @ts-ignore
130
+ this.privateKey = generatePrivateKey(() => generateRandomBytes(32));
131
+ privateKeyWif = encodePrivateKeyWif(this.privateKey, this.network === NetworkType.Regtest
132
+ ? NetworkType.Testnet
133
+ : this.network);
134
+ }
135
+ if (privateKeyWif?.length) {
136
+ checkWifNetwork(privateKeyWif, this.network);
137
+ // @ts-ignore
138
+ this.privateKeyWif = privateKeyWif;
139
+ if (!this.privateKey) {
140
+ // @ts-ignore
141
+ this.privateKey = assertSuccess(decodePrivateKeyWif(privateKeyWif)).privateKey;
142
+ }
143
+ publicKey = assertSuccess(secp256k1.derivePublicKeyUncompressed(this.privateKey));
144
+ publicKeyCompressed = assertSuccess(secp256k1.compressPublicKey(publicKey));
145
+ }
146
+ // rest cases are for watch wallets
147
+ return super.initialize({
148
+ name,
149
+ publicKey,
150
+ publicKeyCompressed,
151
+ publicKeyHash,
152
+ address,
153
+ });
154
+ }
155
+ //#endregion Constructors and Statics
156
+ //#region Accessors
157
+ // Get mnemonic and derivation path for wallet
158
+ getSeed() {
159
+ if (!this.mnemonic) {
160
+ throw Error("Wallet mnemonic seed phrase not set");
161
+ }
162
+ if (!this.derivationPath) {
163
+ throw Error("Wallet derivation path not set");
164
+ }
165
+ return {
166
+ seed: this.mnemonic,
167
+ derivationPath: this.derivationPath,
168
+ parentDerivationPath: this.parentDerivationPath,
169
+ };
170
+ }
171
+ // Return wallet info
172
+ getInfo() {
173
+ return {
174
+ cashaddr: this.cashaddr,
175
+ tokenaddr: this.tokenaddr,
176
+ isTestnet: this.isTestnet,
177
+ name: this.name,
178
+ network: this.network,
179
+ seed: this.mnemonic ? this.getSeed().seed : undefined,
180
+ derivationPath: this.mnemonic ? this.getSeed().derivationPath : undefined,
181
+ parentDerivationPath: this.mnemonic
182
+ ? this.getSeed().parentDerivationPath
183
+ : undefined,
184
+ parentXPubKey: this.parentXPubKey ? this.parentXPubKey : undefined,
185
+ publicKey: this.publicKey ? binToHex(this.publicKey) : undefined,
186
+ publicKeyHash: binToHex(this.publicKeyHash),
187
+ privateKey: this.privateKey ? binToHex(this.privateKey) : undefined,
188
+ privateKeyWif: this.privateKeyWif,
189
+ walletId: this.toString(),
190
+ walletDbEntry: this.toDbString(),
191
+ };
192
+ }
193
+ // Get common xpub paths from zerothChild privateKey
194
+ async deriveHdPaths(hdPaths) {
195
+ if (!this.mnemonic)
196
+ throw Error("refusing to create wallet from empty mnemonic");
197
+ const seed = deriveSeedFromBip39Mnemonic(this.mnemonic);
198
+ checkForEmptySeed(seed);
199
+ const hdNode = deriveHdPrivateNodeFromSeed(seed, {
200
+ assumeValidity: true, // TODO: we should switch to libauth's BIP39 implementation and set this to false
201
+ throwErrors: true,
202
+ });
203
+ const result = [];
204
+ for (const path of hdPaths) {
205
+ if (path === "m") {
206
+ throw Error("Storing or sharing of parent public key may lead to loss of funds. Storing or sharing *root* parent public keys is strongly discouraged, although all parent keys have risk. See: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#implications");
207
+ }
208
+ const childNode = deriveHdPath(hdNode, path);
209
+ if (typeof childNode === "string") {
210
+ throw Error(childNode);
211
+ }
212
+ const node = deriveHdPublicNode(childNode);
213
+ if (typeof node === "string") {
214
+ throw Error(node);
215
+ }
216
+ const xPubKey = encodeHdPublicKey({
217
+ network: this.network,
218
+ node: node,
219
+ }, {
220
+ throwErrors: true,
221
+ }).hdPublicKey;
222
+ const key = new XPubKey({
223
+ path: path,
224
+ xPubKey: xPubKey,
225
+ });
226
+ result.push(await key.ready());
227
+ }
228
+ return await Promise.all(result).then((result) => {
229
+ return result;
230
+ });
231
+ }
232
+ async getXPubKeys(paths) {
233
+ if (this.mnemonic) {
234
+ if (paths) {
235
+ let xPubKeys = await this.deriveHdPaths(paths);
236
+ return [xPubKeys];
237
+ }
238
+ else {
239
+ return await this.deriveHdPaths(DERIVATION_PATHS);
240
+ }
241
+ }
242
+ else {
243
+ throw Error("xpubkeys can only be derived from seed type wallets.");
244
+ }
245
+ }
246
+ //#endregion
130
247
  //#region Statics
131
248
  /**
132
249
  * fromId - create a wallet from encoded walletId string
@@ -161,16 +278,15 @@ export class Wallet extends BaseWallet {
161
278
  /**
162
279
  * fromSeed - create a wallet using the seed phrase and derivation path
163
280
  *
164
- * unless specified the derivation path m/44'/245'/0'/0/0 will be userd
165
- * this derivation path is standard for Electron Cash SLP and other SLP enabled wallets
281
+ * unless specified the derivation path m/44'/0'/0'/0/0 will be used
166
282
  *
167
- * @param seed BIP39 12 word seed phrase
283
+ * @param mnemonic BIP39 12 word seed phrase
168
284
  * @param derivationPath BIP44 HD wallet derivation path to get a single the private key from hierarchy
169
285
  *
170
286
  * @returns instantiated wallet
171
287
  */
172
- static async fromSeed(seed, derivationPath) {
173
- return new this().fromSeed(seed, derivationPath);
288
+ static async fromSeed(mnemonic, derivationPath) {
289
+ return new this().fromSeed(mnemonic, derivationPath);
174
290
  }
175
291
  /**
176
292
  * newRandom - create a random wallet
@@ -185,176 +301,31 @@ export class Wallet extends BaseWallet {
185
301
  static async newRandom(name = "", dbName) {
186
302
  return new this().newRandom(name, dbName);
187
303
  }
188
- //#endregion Constructors
189
- //#region Protected implementations
190
- async generate() {
191
- if (this.walletType === WalletTypeEnum.Wif) {
192
- return await this._generateWif();
193
- }
194
- else if (this.walletType === WalletTypeEnum.Watch) {
195
- return this;
196
- }
197
- else if (this.walletType === WalletTypeEnum.Hd) {
198
- throw Error("Not implemented");
199
- }
200
- else if (this.walletType === WalletTypeEnum.Seed) {
201
- return await this._generateMnemonic();
202
- }
203
- else {
204
- console.log(this.walletType);
205
- throw Error(`Could not determine walletType: ${this.walletType}`);
206
- }
207
- }
208
- async _generateWif() {
209
- if (!this.privateKey) {
210
- // @ts-ignore
211
- this.privateKey = generatePrivateKey(() => generateRandomBytes(32));
212
- }
213
- return this.deriveInfo();
214
- }
215
- async _generateMnemonic() {
216
- // @ts-ignore
217
- this.mnemonic = generateBip39Mnemonic();
218
- if (this.mnemonic.length == 0)
219
- throw Error("refusing to create wallet from empty mnemonic");
220
- const seed = deriveSeedFromBip39Mnemonic(this.mnemonic);
221
- checkForEmptySeed(seed);
222
- const network = this.isTestnet ? "testnet" : "mainnet";
223
- // @ts-ignore
224
- this.parentXPubKey = getXPubKey(seed, this.parentDerivationPath, network);
225
- const hdNode = deriveHdPrivateNodeFromSeed(seed, {
226
- assumeValidity: true, // TODO: we should switch to libauth's BIP39 implementation and set this to false
227
- throwErrors: true,
228
- });
229
- const zerothChild = deriveHdPath(hdNode, this.derivationPath);
230
- if (typeof zerothChild === "string") {
231
- throw Error(zerothChild);
232
- }
233
- // @ts-ignore
234
- this.privateKey = zerothChild.privateKey;
235
- // @ts-ignore
236
- this.walletType = WalletTypeEnum.Seed;
237
- return await this.deriveInfo();
238
- }
239
- async getXPubKeys(paths) {
240
- if (this.mnemonic) {
241
- if (paths) {
242
- let xPubKeys = await this.deriveHdPaths(paths);
243
- return [xPubKeys];
244
- }
245
- else {
246
- return await this.deriveHdPaths(DERIVATION_PATHS);
247
- }
248
- }
249
- else {
250
- throw Error("xpubkeys can only be derived from seed type wallets.");
251
- }
252
- }
253
304
  // Initialize wallet from a mnemonic phrase
254
305
  async fromSeed(mnemonic, derivationPath) {
255
- // @ts-ignore
256
- this.mnemonic = mnemonic.trim().toLowerCase();
257
- if (this.mnemonic.length == 0)
306
+ if (!mnemonic.length) {
258
307
  throw Error("refusing to create wallet from empty mnemonic");
259
- const seed = deriveSeedFromBip39Mnemonic(this.mnemonic);
260
- checkForEmptySeed(seed);
261
- if (![12, 24].includes(this.mnemonic.split(" ").length)) {
262
- throw Error("Invalid mnemonic, must be 12 or 24 words");
263
308
  }
264
- const hdNode = deriveHdPrivateNodeFromSeed(seed, {
265
- assumeValidity: true, // TODO: we should switch to libauth's BIP39 implementation and set this to false
266
- throwErrors: true,
267
- });
268
- if (derivationPath) {
269
- // @ts-ignore
270
- this.derivationPath = derivationPath;
271
- // If the derivation path is for the first account child, set the parent derivation path
272
- const path = derivationPath.split("/");
273
- if (path.slice(-2).join("/") == "0/0") {
274
- // @ts-ignore
275
- this.parentDerivationPath = path.slice(0, -2).join("/");
276
- }
277
- }
278
- const zerothChild = deriveHdPath(hdNode, this.derivationPath);
279
- if (typeof zerothChild === "string") {
280
- throw Error(zerothChild);
281
- }
282
- // @ts-ignore
283
- this.privateKey = zerothChild.privateKey;
284
- const network = this.isTestnet ? "testnet" : "mainnet";
285
- // @ts-ignore
286
- this.parentXPubKey = await getXPubKey(seed, this.parentDerivationPath, network);
287
309
  // @ts-ignore
288
310
  this.walletType = WalletTypeEnum.Seed;
289
- await this.deriveInfo();
311
+ await this.initialize({ mnemonic, derivationPath });
290
312
  return this;
291
313
  }
292
- // Get common xpub paths from zerothChild privateKey
293
- async deriveHdPaths(hdPaths) {
294
- if (!this.mnemonic)
295
- throw Error("refusing to create wallet from empty mnemonic");
296
- const seed = deriveSeedFromBip39Mnemonic(this.mnemonic);
297
- checkForEmptySeed(seed);
298
- const hdNode = deriveHdPrivateNodeFromSeed(seed, {
299
- assumeValidity: true, // TODO: we should switch to libauth's BIP39 implementation and set this to false
300
- throwErrors: true,
301
- });
302
- const result = [];
303
- for (const path of hdPaths) {
304
- if (path === "m") {
305
- throw Error("Storing or sharing of parent public key may lead to loss of funds. Storing or sharing *root* parent public keys is strongly discouraged, although all parent keys have risk. See: https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki#implications");
306
- }
307
- const childNode = deriveHdPath(hdNode, path);
308
- if (typeof childNode === "string") {
309
- throw Error(childNode);
310
- }
311
- const node = deriveHdPublicNode(childNode);
312
- if (typeof node === "string") {
313
- throw Error(node);
314
- }
315
- const xPubKey = encodeHdPublicKey({
316
- network: this.network,
317
- node: node,
318
- }, {
319
- throwErrors: true,
320
- }).hdPublicKey;
321
- const key = new XPubKey({
322
- path: path,
323
- xPubKey: xPubKey,
324
- });
325
- result.push(await key.ready());
326
- }
327
- return await Promise.all(result).then((result) => {
328
- return result;
329
- });
330
- }
331
314
  // Initialize wallet from private key in hex or Uint8Array
332
315
  async fromPrivateKey(privateKey) {
333
316
  if (typeof privateKey === "string") {
334
317
  privateKey = hexToBin(privateKey);
335
318
  }
336
319
  // @ts-ignore
337
- this.privateKey = privateKey;
338
- // @ts-ignore
339
320
  this.walletType = WalletTypeEnum.PrivateKey;
340
- await this.deriveInfo();
321
+ await this.initialize({ privateKey });
341
322
  return this;
342
323
  }
343
324
  // Initialize wallet from Wallet Import Format
344
- async fromWIF(secret) {
345
- checkWifNetwork(secret, this.network);
346
- let wifResult = decodePrivateKeyWif(secret);
347
- if (typeof wifResult === "string") {
348
- throw Error(wifResult);
349
- }
350
- let resultData = wifResult;
351
- // @ts-ignore
352
- this.privateKey = resultData.privateKey;
353
- // @ts-ignore
354
- this.privateKeyWif = secret;
325
+ async fromWIF(privateKeyWif) {
355
326
  // @ts-ignore
356
327
  this.walletType = WalletTypeEnum.Wif;
357
- await this.deriveInfo();
328
+ await this.initialize({ privateKeyWif });
358
329
  return this;
359
330
  }
360
331
  /**
@@ -369,7 +340,7 @@ export class Wallet extends BaseWallet {
369
340
  return this.named(name, dbName);
370
341
  }
371
342
  else {
372
- return this.generate();
343
+ return this.initialize();
373
344
  }
374
345
  }
375
346
  //#endregion Protected Implementations
@@ -418,17 +389,6 @@ export class Wallet extends BaseWallet {
418
389
  }
419
390
  //#endregion Serialization
420
391
  //#region Funds
421
- async getMaxAmountToSend(params = {
422
- outputCount: 1,
423
- options: {},
424
- }) {
425
- const { value: result } = await this._getMaxAmountToSend({
426
- options: params.options,
427
- outputCount: params.outputCount,
428
- privateKey: this.privateKey,
429
- });
430
- return await balanceResponseFromSatoshi(result);
431
- }
432
392
  /**
433
393
  * sendMax Send all available funds to a destination cash address
434
394
  *
@@ -447,7 +407,11 @@ export class Wallet extends BaseWallet {
447
407
  * @param {SendRequestOptionsI} options Options of the send requests
448
408
  */
449
409
  async encodeTransaction(requests, discardChange = false, options, privateKey) {
450
- return super.encodeTransaction(requests, discardChange, options, this.privateKey);
410
+ privateKey = privateKey ?? this.privateKey;
411
+ if (!privateKey && options?.buildUnsigned !== true) {
412
+ throw new Error(`Missing private key`);
413
+ }
414
+ return super.encodeTransaction(requests, discardChange, options, privateKey);
451
415
  }
452
416
  async signUnsignedTransaction(transaction, sourceOutputs) {
453
417
  if (!this.privateKey) {
@@ -456,37 +420,10 @@ export class Wallet extends BaseWallet {
456
420
  return signUnsignedTransaction(transaction, sourceOutputs, this.privateKey);
457
421
  }
458
422
  //#endregion Funds
459
- //#region Private implementation details
460
- async deriveInfo() {
461
- const publicKey = secp256k1.derivePublicKeyUncompressed(this.privateKey);
462
- if (typeof publicKey === "string") {
463
- throw new Error(publicKey);
464
- }
465
- // @ts-ignore
466
- this.publicKey = publicKey;
467
- const publicKeyCompressed = secp256k1.derivePublicKeyCompressed(this.privateKey);
468
- if (typeof publicKeyCompressed === "string") {
469
- throw new Error(publicKeyCompressed);
470
- }
471
- // @ts-ignore
472
- this.publicKeyCompressed = publicKeyCompressed;
473
- const networkType = this.network === NetworkType.Regtest ? NetworkType.Testnet : this.network;
474
- // @ts-ignore
475
- this.privateKeyWif = encodePrivateKeyWif(this.privateKey, networkType);
476
- checkWifNetwork(this.privateKeyWif, this.network);
477
- // @ts-ignore
478
- this.cashaddr = deriveCashaddr(this.privateKey, this.networkPrefix);
479
- // @ts-ignore
480
- this.tokenaddr = deriveTokenaddr(this.privateKey, this.networkPrefix);
481
- // @ts-ignore
482
- this.publicKeyHash = derivePublicKeyHash(this.cashaddr);
483
- return this;
484
- }
485
- //#endregion Private implementation details
486
423
  //#region Signing
487
424
  // Convenience wrapper to sign interface
488
- async sign(message) {
489
- return await Wallet.signedMessage.sign(message, this.privateKey);
425
+ sign(message, privateKey = undefined) {
426
+ return super.sign(message, privateKey ?? this.privateKey);
490
427
  }
491
428
  }
492
429
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"Wif.js","sourceRoot":"","sources":["../../../src/wallet/Wif.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Wif.js","sourceRoot":"","sources":["../../../src/wallet/Wif.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { RegTestWatchWallet, TestNetWatchWallet, WatchWallet } from "./Base.js";
1
+ import { HDWallet, RegTestHDWallet, TestNetHDWallet } from "./HDWallet.js";
2
+ import { RegTestWatchWallet, TestNetWatchWallet, WatchWallet } from "./Watch.js";
2
3
  import { RegTestWallet, RegTestWifWallet, TestNetWallet, TestNetWifWallet, Wallet, WifWallet } from "./Wif.js";
3
4
  import { WalletRequestI, WalletResponseI } from "./interface.js";
4
5
  export declare const walletClassMap: {
@@ -17,6 +18,11 @@ export declare const walletClassMap: {
17
18
  testnet: () => typeof TestNetWatchWallet;
18
19
  regtest: () => typeof RegTestWatchWallet;
19
20
  };
21
+ hd: {
22
+ mainnet: () => typeof HDWallet;
23
+ testnet: () => typeof TestNetHDWallet;
24
+ regtest: () => typeof RegTestHDWallet;
25
+ };
20
26
  };
21
27
  /**
22
28
  * Check if wallet exists
@@ -1 +1 @@
1
- {"version":3,"file":"createWallet.d.ts","sourceRoot":"","sources":["../../../src/wallet/createWallet.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACZ,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,MAAM,EACN,SAAS,EACV,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;CAkC1B,CAAC;AAkBF;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,KAAA,GAAG,OAAO,CAAC,OAAO,CAAC,CAM9D;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,IAAI,KAAA,EACJ,UAAU,KAAA,EACV,WAAW,KAAA,GACV,OAAO,CAAC,MAAM,CAAC,CAwBjB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,KAAA,GAAG,OAAO,CAAC,MAAM,CAAC,CAiB9D;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAiBxE;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,cAAc,GAC5B,OAAO,CAAC,eAAe,CAAC,CAO1B;AA0BD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAcjE"}
1
+ {"version":3,"file":"createWallet.d.ts","sourceRoot":"","sources":["../../../src/wallet/createWallet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAC3E,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,WAAW,EACZ,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,MAAM,EACN,SAAS,EACV,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGjE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;CA6C1B,CAAC;AAkBF;;;;GAIG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,KAAA,GAAG,OAAO,CAAC,OAAO,CAAC,CAM9D;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,IAAI,KAAA,EACJ,UAAU,KAAA,EACV,WAAW,KAAA,GACV,OAAO,CAAC,MAAM,CAAC,CAwBjB;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,IAAI,KAAA,GAAG,OAAO,CAAC,MAAM,CAAC,CAiB9D;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBxE;AAED;;;;GAIG;AACH,wBAAsB,oBAAoB,CACxC,aAAa,EAAE,cAAc,GAC5B,OAAO,CAAC,eAAe,CAAC,CAO1B;AA0BD;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAajE"}