mainnet-js 2.7.25 → 2.7.29
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/index.html +1 -1
- package/dist/{mainnet-2.7.25.js → mainnet-2.7.29.js} +42 -132
- package/dist/module/config.d.ts +1 -3
- package/dist/module/config.d.ts.map +1 -1
- package/dist/module/config.js +2 -13
- package/dist/module/config.js.map +1 -1
- package/dist/module/constant.d.ts +0 -12
- package/dist/module/constant.d.ts.map +1 -1
- package/dist/module/constant.js +0 -12
- package/dist/module/constant.js.map +1 -1
- package/dist/module/rate/ExchangeRate.d.ts.map +1 -1
- package/dist/module/rate/ExchangeRate.js +4 -0
- package/dist/module/rate/ExchangeRate.js.map +1 -1
- package/dist/module/wallet/Wif.d.ts.map +1 -1
- package/dist/module/wallet/Wif.js +5 -6
- package/dist/module/wallet/Wif.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/src/config.ts +4 -17
- package/src/constant.ts +0 -16
- package/src/rate/ExchangeRate.test.ts +20 -1
- package/src/rate/ExchangeRate.ts +5 -0
- package/src/wallet/Wif.bip39.test.ts +3 -4
- package/src/wallet/Wif.ts +5 -11
- package/src/config.test.ts +0 -81
package/src/wallet/Wif.ts
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
//#region Imports
|
|
2
|
-
import {
|
|
3
|
-
encodeHdPublicKey,
|
|
4
|
-
HdKeyNetwork,
|
|
5
|
-
hexToBin,
|
|
6
|
-
secp256k1,
|
|
7
|
-
} from "@bitauth/libauth";
|
|
2
|
+
import { deriveSeedFromBip39Mnemonic, encodeHdPublicKey, generateBip39Mnemonic, HdKeyNetwork, hexToBin, secp256k1 } from "@bitauth/libauth";
|
|
8
3
|
|
|
9
4
|
import {
|
|
10
5
|
binToHex,
|
|
@@ -17,7 +12,6 @@ import {
|
|
|
17
12
|
generatePrivateKey,
|
|
18
13
|
} from "@bitauth/libauth";
|
|
19
14
|
|
|
20
|
-
import { generateMnemonic, mnemonicToSeedSync } from "@scure/bip39";
|
|
21
15
|
import { NetworkType } from "../enum.js";
|
|
22
16
|
|
|
23
17
|
import { PrivateKeyI } from "../interface.js";
|
|
@@ -259,10 +253,10 @@ export class Wallet extends BaseWallet {
|
|
|
259
253
|
|
|
260
254
|
private async _generateMnemonic() {
|
|
261
255
|
// @ts-ignore
|
|
262
|
-
this.mnemonic =
|
|
256
|
+
this.mnemonic = generateBip39Mnemonic();
|
|
263
257
|
if (this.mnemonic.length == 0)
|
|
264
258
|
throw Error("refusing to create wallet from empty mnemonic");
|
|
265
|
-
const seed =
|
|
259
|
+
const seed = deriveSeedFromBip39Mnemonic(this.mnemonic);
|
|
266
260
|
checkForEmptySeed(seed);
|
|
267
261
|
const network = this.isTestnet ? "testnet" : "mainnet";
|
|
268
262
|
// @ts-ignore
|
|
@@ -353,7 +347,7 @@ export class Wallet extends BaseWallet {
|
|
|
353
347
|
|
|
354
348
|
if (this.mnemonic.length == 0)
|
|
355
349
|
throw Error("refusing to create wallet from empty mnemonic");
|
|
356
|
-
const seed =
|
|
350
|
+
const seed = deriveSeedFromBip39Mnemonic(this.mnemonic);
|
|
357
351
|
checkForEmptySeed(seed);
|
|
358
352
|
const hdNode = deriveHdPrivateNodeFromSeed(seed, {
|
|
359
353
|
assumeValidity: true, // TODO: we should switch to libauth's BIP39 implementation and set this to false
|
|
@@ -396,7 +390,7 @@ export class Wallet extends BaseWallet {
|
|
|
396
390
|
public async deriveHdPaths(hdPaths: string[]): Promise<any[]> {
|
|
397
391
|
if (!this.mnemonic)
|
|
398
392
|
throw Error("refusing to create wallet from empty mnemonic");
|
|
399
|
-
const seed =
|
|
393
|
+
const seed = deriveSeedFromBip39Mnemonic(this.mnemonic);
|
|
400
394
|
checkForEmptySeed(seed);
|
|
401
395
|
const hdNode = deriveHdPrivateNodeFromSeed(seed, {
|
|
402
396
|
assumeValidity: true, // TODO: we should switch to libauth's BIP39 implementation and set this to false
|
package/src/config.test.ts
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
import { Config } from "./config.js";
|
|
2
|
-
import { WORDLIST_CHECKSUMS } from "./constant.js";
|
|
3
|
-
import { sha256, binToHex, utf8ToBin } from "@bitauth/libauth";
|
|
4
|
-
import { wordlist as czech } from "@scure/bip39/wordlists/czech";
|
|
5
|
-
import { wordlist as english } from "@scure/bip39/wordlists/english";
|
|
6
|
-
import { wordlist as french } from "@scure/bip39/wordlists/french";
|
|
7
|
-
import { wordlist as italian } from "@scure/bip39/wordlists/italian";
|
|
8
|
-
import { wordlist as japanese } from "@scure/bip39/wordlists/japanese";
|
|
9
|
-
import { wordlist as korean } from "@scure/bip39/wordlists/korean";
|
|
10
|
-
import { wordlist as portuguese } from "@scure/bip39/wordlists/portuguese";
|
|
11
|
-
import { wordlist as simplifiedChinese } from "@scure/bip39/wordlists/simplified-chinese";
|
|
12
|
-
import { wordlist as spanish } from "@scure/bip39/wordlists/spanish";
|
|
13
|
-
import { wordlist as traditionalChinese } from "@scure/bip39/wordlists/traditional-chinese";
|
|
14
|
-
|
|
15
|
-
test("Should check wordlist checksums", () => {
|
|
16
|
-
let wordlists = {
|
|
17
|
-
czech: czech,
|
|
18
|
-
english: english,
|
|
19
|
-
french: french,
|
|
20
|
-
italian: italian,
|
|
21
|
-
japanese: japanese,
|
|
22
|
-
korean: korean,
|
|
23
|
-
portuguese: portuguese,
|
|
24
|
-
simplifiedChinese: simplifiedChinese,
|
|
25
|
-
spanish: spanish,
|
|
26
|
-
traditionalChinese: traditionalChinese,
|
|
27
|
-
};
|
|
28
|
-
for (let l in wordlists) {
|
|
29
|
-
let checksum = binToHex(sha256.hash(utf8ToBin(wordlists[l].join(" "))));
|
|
30
|
-
expect(WORDLIST_CHECKSUMS[l]).toBe(checksum);
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
|
|
34
|
-
test("Should get the default wordlist", () => {
|
|
35
|
-
expect(Config.getWordlist().shift()).toBe("abandon");
|
|
36
|
-
expect(Config.getWordlist().shift()).toBe("abandon");
|
|
37
|
-
expect(Config.getWordlist().pop()).toBe("zoo");
|
|
38
|
-
expect(Config.getWordlist().pop()).toBe("zoo");
|
|
39
|
-
});
|
|
40
|
-
|
|
41
|
-
test("Should get the default wordlist", () => {
|
|
42
|
-
Config.setWordlist(czech);
|
|
43
|
-
expect(Config.getWordlist().shift()).toBe("abdikace");
|
|
44
|
-
expect(Config.getWordlist().pop()).toBe("zvyk");
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
test("Expect Error setting a bad wordlist to the config", async () => {
|
|
48
|
-
expect.assertions(1);
|
|
49
|
-
try {
|
|
50
|
-
let badList = [...english];
|
|
51
|
-
badList.pop();
|
|
52
|
-
expect(Config.setWordlist(badList));
|
|
53
|
-
} catch (e: any) {
|
|
54
|
-
expect(e.message).toBe(
|
|
55
|
-
"Error matching provided wordlist to a known list, see @scure/bip39/wordlists"
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
test("Should get the default wordlist", () => {
|
|
61
|
-
Config.setWordlist(czech);
|
|
62
|
-
expect(Config.getWordlist().shift()).toBe("abdikace");
|
|
63
|
-
Config.setWordlist(english);
|
|
64
|
-
expect(Config.getWordlist().shift()).toBe("abandon");
|
|
65
|
-
Config.setWordlist(french);
|
|
66
|
-
expect(Config.getWordlist().shift()).toBe("abaisser");
|
|
67
|
-
Config.setWordlist(italian);
|
|
68
|
-
expect(Config.getWordlist().shift()).toBe("abaco");
|
|
69
|
-
Config.setWordlist(japanese);
|
|
70
|
-
expect(Config.getWordlist().shift()).toBe("あいこくしん");
|
|
71
|
-
Config.setWordlist(korean);
|
|
72
|
-
expect(Config.getWordlist().shift()).toBe("가격");
|
|
73
|
-
Config.setWordlist(portuguese);
|
|
74
|
-
expect(Config.getWordlist().shift()).toBe("abacate");
|
|
75
|
-
Config.setWordlist(simplifiedChinese);
|
|
76
|
-
expect(Config.getWordlist().shift()).toBe("的");
|
|
77
|
-
Config.setWordlist(spanish);
|
|
78
|
-
expect(Config.getWordlist().shift()).toBe("ábaco");
|
|
79
|
-
Config.setWordlist(traditionalChinese);
|
|
80
|
-
expect(Config.getWordlist().shift()).toBe("的");
|
|
81
|
-
});
|