Skip to content

Commit 64dea97

Browse files
committed
fix: resolve non-null assertion lint warnings
1 parent 701f26c commit 64dea97

2 files changed

Lines changed: 27 additions & 43 deletions

File tree

src/commands/wallet/import.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ async function importWallet(
4444

4545
const password = await getPassword(opts);
4646

47-
if (hasMnemonic) {
47+
if (hasMnemonic && opts.mnemonic) {
4848
const { wallet, publicKey, privateKey } = walletFromMnemonic(
49-
opts.mnemonic!,
49+
opts.mnemonic,
5050
opts,
5151
);
5252
keystore = encryptKeypair(
@@ -58,8 +58,8 @@ async function importWallet(
5858
);
5959
} else {
6060
let seed: string;
61-
if (hasSeed) {
62-
seed = opts.seed!;
61+
if (hasSeed && opts.seed) {
62+
seed = opts.seed;
6363
} else {
6464
seed = await prompt("Enter seed: ", true);
6565
}

test/keystore.test.ts

Lines changed: 23 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,15 @@ import {
1313
saveKeystore,
1414
} from "../src/lib/keystore.js";
1515

16+
function generateSeed(): { seed: string; address: string; wallet: Wallet } {
17+
const wallet = Wallet.generate();
18+
return {
19+
seed: wallet.seed as string,
20+
address: wallet.classicAddress,
21+
wallet,
22+
};
23+
}
24+
1625
describe("keystore", () => {
1726
let dir: string;
1827

@@ -25,14 +34,9 @@ describe("keystore", () => {
2534
});
2635

2736
it("encrypts and decrypts a seed round-trip", () => {
28-
const wallet = Wallet.generate();
37+
const { seed, address, wallet } = generateSeed();
2938
const password = "test-password-123";
30-
const keystore = encryptSeed(
31-
"alice",
32-
wallet.seed!,
33-
wallet.classicAddress,
34-
password,
35-
);
39+
const keystore = encryptSeed("alice", seed, address, password);
3640
const secret = decryptSecret(keystore, password);
3741
expect(secret.type).toBe("seed");
3842
expect(secret.data).toBe(wallet.seed);
@@ -56,10 +60,10 @@ describe("keystore", () => {
5660
});
5761

5862
it("decryptSecret handles both types", () => {
59-
const wallet = Wallet.generate();
63+
const { seed, address, wallet } = generateSeed();
6064
const pw = "pw";
6165

62-
const seedKs = encryptSeed("s", wallet.seed!, wallet.classicAddress, pw);
66+
const seedKs = encryptSeed("s", seed, address, pw);
6367
const kpKs = encryptKeypair(
6468
"k",
6569
wallet.publicKey,
@@ -79,39 +83,24 @@ describe("keystore", () => {
7983
});
8084

8185
it("fails to decrypt with wrong password", () => {
82-
const wallet = Wallet.generate();
83-
const keystore = encryptSeed(
84-
"bob",
85-
wallet.seed!,
86-
wallet.classicAddress,
87-
"correct",
88-
);
86+
const { seed, address } = generateSeed();
87+
const keystore = encryptSeed("bob", seed, address, "correct");
8988
expect(() => decryptSecret(keystore, "wrong")).toThrow();
9089
});
9190

9291
it("stores the correct address", () => {
93-
const wallet = Wallet.generate();
94-
const keystore = encryptSeed(
95-
"charlie",
96-
wallet.seed!,
97-
wallet.classicAddress,
98-
"pw",
99-
);
100-
expect(keystore.address).toBe(wallet.classicAddress);
92+
const { seed, address } = generateSeed();
93+
const keystore = encryptSeed("charlie", seed, address, "pw");
94+
expect(keystore.address).toBe(address);
10195
});
10296

10397
it("saves, loads, lists, and removes keystores", () => {
104-
const wallet = Wallet.generate();
105-
const keystore = encryptSeed(
106-
"dave",
107-
wallet.seed!,
108-
wallet.classicAddress,
109-
"pw",
110-
);
98+
const { seed, address } = generateSeed();
99+
const keystore = encryptSeed("dave", seed, address, "pw");
111100

112101
saveKeystore(keystore, dir);
113102
const loaded = loadKeystore("dave", dir);
114-
expect(loaded.address).toBe(wallet.classicAddress);
103+
expect(loaded.address).toBe(address);
115104

116105
const list = listKeystores(dir);
117106
expect(list).toHaveLength(1);
@@ -126,13 +115,8 @@ describe("keystore", () => {
126115
});
127116

128117
it("throws when saving a duplicate name", () => {
129-
const wallet = Wallet.generate();
130-
const keystore = encryptSeed(
131-
"dup",
132-
wallet.seed!,
133-
wallet.classicAddress,
134-
"pw",
135-
);
118+
const { seed, address } = generateSeed();
119+
const keystore = encryptSeed("dup", seed, address, "pw");
136120
saveKeystore(keystore, dir);
137121
expect(() => saveKeystore(keystore, dir)).toThrow(/already exists/);
138122
});

0 commit comments

Comments
 (0)