Skip to content

Commit 2c097a6

Browse files
authored
Merge pull request #201 from KeystoneHQ/release
Release
2 parents d77c76f + 7a17190 commit 2c097a6

4 files changed

Lines changed: 11 additions & 15 deletions

File tree

packages/metamask-keystone-usb-keyring/__tests__/KeystoneUSBKeyring.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ describe("KeystoneUSBKeyring test", () => {
2727
const bridge = new KeystoneNodeUSBBridge();
2828
const keyring = new KeystoneUSBKeyring({ bridge });
2929
await keyring.init();
30-
keyring.setHDPath(KEYSTONE_HD_PATH.LEDGER_LEGACY);
30+
keyring.setHdPath(KEYSTONE_HD_PATH.LEDGER_LEGACY);
3131

3232
console.log("keyring", await keyring.getFirstPage());
3333
console.log("keyring", await keyring.getNextPage());

packages/metamask-keystone-usb-keyring/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@keystonehq/metamask-keystone-usb-keyring",
3-
"version": "0.1.0",
3+
"version": "0.1.3",
44
"description": "keystone usb eth keyring for metamask",
55
"author": "aaronisme <aarondongchen@gmail.com>",
66
"homepage": "https://github.com/KeystoneHQ/keystone-airgaped-base#readme",

packages/metamask-keystone-usb-keyring/src/KeystoneUSBKeyring.ts

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -119,33 +119,29 @@ export class KeystoneUSBKeyring {
119119
}
120120

121121
async setUpBridge() {
122-
if (!this.bridgeSetup) {
123-
await this.bridge.init(this.xfp);
124-
this.bridgeSetup = true;
125-
}
122+
await this.bridge.init(this.xfp);
126123
}
127124

128-
setHDPath(hdPath: string) {
125+
setHdPath(hdPath: string) {
129126
this.hdPath = hdPath;
130127
}
131128

132129
async readKeyring(): Promise<void> {
133130
await this.setUpBridge();
134131
const paths = ["m/44'/60'/0'"];
135132
paths.push(...Array.from({ length: 10 }, (_, i) => `m/44'/60'/${i}'/0/0`));
136-
const results = [];
137-
for (const path of paths) {
138-
const result = await this.bridge.getKeys([path]);
139-
results.push(result);
133+
const result = await this.bridge.getKeys(paths);
134+
if (result === undefined) {
135+
throw new Error(`KeystoneError#getKeys.user_reject: user rejected the request`);
140136
}
141-
this.xfp = results[0].mfp;
142-
const keys = results.map((result) => {
143-
const key = result.keys[0];
137+
this.xfp = result.mfp;
138+
const keys = result.keys.map((key) => {
144139
return {
145140
...key,
146141
path: key.path.replace("m/", "").replace("M/", ""),
147142
};
148143
});
144+
149145
const foundKey = keys.find((key) => key.path === "44'/60'/0'");
150146
this.hd_account = foundKey ? foundKey.xpub : "";
151147
const ledger_live_keys = keys.filter((key) => key.path !== "44'/60'/0'");
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
export { KeystoneUSBKeyring } from "./KeystoneUSBKeyring";
1+
export { KeystoneUSBKeyring, KEYSTONE_HD_PATH } from "./KeystoneUSBKeyring";
22
export { KeystoneBridge } from "./KeystoneBridge";
33
export { KeystoneUSBBridge } from "./KeystoneUSBBridge";

0 commit comments

Comments
 (0)