Skip to content

Commit bc194c9

Browse files
BREAKING: Bump @metamask/key-tree to 4.0.0 (#446)
Co-authored-by: Frederik Bolding <frederik.bolding@gmail.com>
1 parent a4ffca6 commit bc194c9

3 files changed

Lines changed: 44 additions & 42 deletions

File tree

packages/rpc-methods/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
},
2929
"dependencies": {
3030
"@metamask/controllers": "^29.0.1",
31-
"@metamask/key-tree": "^3.0.1",
31+
"@metamask/key-tree": "^4.0.0",
3232
"@metamask/snap-controllers": "^0.12.0",
3333
"@metamask/types": "^1.1.0",
3434
"eth-rpc-errors": "^4.0.2"

packages/rpc-methods/src/restricted/getBip44Entropy.ts

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,6 @@ import { ethErrors } from 'eth-rpc-errors';
88
import { BIP44CoinTypeNode, JsonBIP44CoinTypeNode } from '@metamask/key-tree';
99
import { NonEmptyArray } from '@metamask/snap-controllers';
1010

11-
// TODO: Remove this after key-tree is bumped
12-
// We redeclare this type locally because the import relies on an interface,
13-
// which is incompatible with our Json type.
14-
type _JsonBIP44CoinTypeNode = {
15-
// eslint-disable-next-line camelcase
16-
coin_type: number;
17-
depth: JsonBIP44CoinTypeNode['depth'];
18-
key: string;
19-
path: JsonBIP44CoinTypeNode['path'];
20-
};
21-
2211
const methodPrefix = 'snap_getBip44Entropy_';
2312
const targetKey = `${methodPrefix}*` as const;
2413

@@ -84,7 +73,7 @@ function getBip44EntropyImplementation({
8473
}: GetBip44EntropyMethodHooks) {
8574
return async function getBip44Entropy(
8675
args: RestrictedMethodOptions<void>,
87-
): Promise<_JsonBIP44CoinTypeNode> {
76+
): Promise<JsonBIP44CoinTypeNode> {
8877
const bip44Code = args.method.substr(methodPrefix.length);
8978
if (!ALL_DIGIT_REGEX.test(bip44Code)) {
9079
throw ethErrors.rpc.methodNotFound({
@@ -94,10 +83,12 @@ function getBip44EntropyImplementation({
9483

9584
await getUnlockPromise(true);
9685

97-
return new BIP44CoinTypeNode([
86+
const node = await BIP44CoinTypeNode.fromDerivationPath([
9887
`bip39:${await getMnemonic()}`,
9988
`bip32:44'`,
10089
`bip32:${Number(bip44Code)}'`,
101-
]).toJSON();
90+
]);
91+
92+
return node.toJSON();
10293
};
10394
}

yarn.lock

Lines changed: 38 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -3641,14 +3641,16 @@
36413641
tweetnacl "^1.0.3"
36423642
tweetnacl-util "^0.15.1"
36433643

3644-
"@metamask/key-tree@^3.0.1":
3645-
version "3.0.1"
3646-
resolved "https://registry.yarnpkg.com/@metamask/key-tree/-/key-tree-3.0.1.tgz#e59b6c9c124c74382477f51a389815e849a16de7"
3647-
integrity sha512-CcpbQua96/CF+KKItrfw9Y6azrlkzFhoVAkyfUl7iq5qldA8xi4CilNjzIqnK8YJcLU44d7nRs5i5/9atY4Beg==
3644+
"@metamask/key-tree@^4.0.0":
3645+
version "4.0.0"
3646+
resolved "https://registry.yarnpkg.com/@metamask/key-tree/-/key-tree-4.0.0.tgz#2de20618793e85ee300b4b3d4ca4de9d7f40e276"
3647+
integrity sha512-Pj5nN6Ko15rei6dSgQnTH64JEN1I8JuTM6Q06/1V7Xp3Fw3g3Nf1scr/u7cQnL17YxXALMCDYaEPdQveo70kSA==
36483648
dependencies:
3649-
bip39 "^3.0.4"
3650-
keccak "^3.0.2"
3651-
secp256k1 "^4.0.2"
3649+
"@noble/ed25519" "^1.6.0"
3650+
"@noble/hashes" "^1.0.0"
3651+
"@noble/secp256k1" "^1.5.5"
3652+
"@scure/base" "^1.0.0"
3653+
"@scure/bip39" "^1.0.0"
36523654

36533655
"@metamask/metamask-eth-abis@3.0.0":
36543656
version "3.0.0"
@@ -3734,6 +3736,21 @@
37343736
jsbi "^3.1.5"
37353737
sha.js "^2.4.11"
37363738

3739+
"@noble/ed25519@^1.6.0":
3740+
version "1.6.0"
3741+
resolved "https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.6.0.tgz#b55f7c9e532b478bf1d7c4f609e1f3a37850b583"
3742+
integrity sha512-UKju89WV37IUALIMfKhKW3psO8AqmrE/GvH6QbPKjzolQ98zM7WmGUeY+xdIgSf5tqPFf75ZCYMgym6E9Jsw3Q==
3743+
3744+
"@noble/hashes@^1.0.0", "@noble/hashes@~1.0.0":
3745+
version "1.0.0"
3746+
resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.0.0.tgz#d5e38bfbdaba174805a4e649f13be9a9ed3351ae"
3747+
integrity sha512-DZVbtY62kc3kkBtMHqwCOfXrT/hnoORy5BJ4+HU1IR59X0KWAOqsfzQPcUl/lQLlG7qXbe/fZ3r/emxtAl+sqg==
3748+
3749+
"@noble/secp256k1@^1.5.5":
3750+
version "1.5.5"
3751+
resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.5.5.tgz#315ab5745509d1a8c8e90d0bdf59823ccf9bcfc3"
3752+
integrity sha512-sZ1W6gQzYnu45wPrWx8D3kwI2/U29VYTx9OjbDAd7jwRItJ0cSTMPRL/C8AWZFn9kWFLQGqEXVEE86w4Z8LpIQ==
3753+
37373754
"@nodelib/fs.scandir@2.1.4":
37383755
version "2.1.4"
37393756
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz#d4b3549a5db5de2683e0c1071ab4f140904bbf69"
@@ -3815,6 +3832,19 @@
38153832
resolved "https://registry.yarnpkg.com/@rollup/plugin-virtual/-/plugin-virtual-2.1.0.tgz#a77bfd0dff74f0203401c75287ff4d1a1cfbc816"
38163833
integrity sha512-CPPAtlKT53HFqC8jFHb/V5WErpU8Hrq2TyCR0A7kPQMlF2wNUf0o1xuAc+Qxj8NCZM0Z3Yvl+FbUXfJjVWqDwA==
38173834

3835+
"@scure/base@^1.0.0", "@scure/base@~1.0.0":
3836+
version "1.0.0"
3837+
resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.0.0.tgz#109fb595021de285f05a7db6806f2f48296fcee7"
3838+
integrity sha512-gIVaYhUsy+9s58m/ETjSJVKHhKTBMmcRb9cEV5/5dwvfDlfORjKrFsDeDHWRrm6RjcPvCLZFwGJjAjLj1gg4HA==
3839+
3840+
"@scure/bip39@^1.0.0":
3841+
version "1.0.0"
3842+
resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.0.0.tgz#47504e58de9a56a4bbed95159d2d6829fa491bb0"
3843+
integrity sha512-HrtcikLbd58PWOkl02k9V6nXWQyoa7A0+Ek9VF7z17DDk9XZAFUcIdqfh0jJXLypmizc5/8P6OxoUeKliiWv4w==
3844+
dependencies:
3845+
"@noble/hashes" "~1.0.0"
3846+
"@scure/base" "~1.0.0"
3847+
38183848
"@sindresorhus/is@^0.14.0":
38193849
version "0.14.0"
38203850
resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
@@ -5388,16 +5418,6 @@ binary-extensions@^2.0.0:
53885418
resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
53895419
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
53905420

5391-
bip39@^3.0.4:
5392-
version "3.0.4"
5393-
resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.4.tgz#5b11fed966840b5e1b8539f0f54ab6392969b2a0"
5394-
integrity sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw==
5395-
dependencies:
5396-
"@types/node" "11.11.6"
5397-
create-hash "^1.1.0"
5398-
pbkdf2 "^3.0.9"
5399-
randombytes "^2.0.1"
5400-
54015421
bl@^4.0.3:
54025422
version "4.1.0"
54035423
resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
@@ -11290,15 +11310,6 @@ keccak@^3.0.0:
1129011310
node-addon-api "^2.0.0"
1129111311
node-gyp-build "^4.2.0"
1129211312

11293-
keccak@^3.0.2:
11294-
version "3.0.2"
11295-
resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.2.tgz#4c2c6e8c54e04f2670ee49fa734eb9da152206e0"
11296-
integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ==
11297-
dependencies:
11298-
node-addon-api "^2.0.0"
11299-
node-gyp-build "^4.2.0"
11300-
readable-stream "^3.6.0"
11301-
1130211313
keyv@^3.0.0:
1130311314
version "3.1.0"
1130411315
resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9"
@@ -13532,7 +13543,7 @@ secp256k1@^4.0.0:
1353213543
node-addon-api "^2.0.0"
1353313544
node-gyp-build "^4.2.0"
1353413545

13535-
secp256k1@^4.0.1, secp256k1@^4.0.2:
13546+
secp256k1@^4.0.1:
1353613547
version "4.0.2"
1353713548
resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.2.tgz#15dd57d0f0b9fdb54ac1fa1694f40e5e9a54f4a1"
1353813549
integrity sha512-UDar4sKvWAksIlfX3xIaQReADn+WFnHvbVujpcbr+9Sf/69odMwy2MUsz5CKLQgX9nsIyrjuxL2imVyoNHa3fg==

0 commit comments

Comments
 (0)