From 6cc1857a0f607469b7323e2d0eabf799ab8263f4 Mon Sep 17 00:00:00 2001 From: Kate Johnson <91970214+k-g-j@users.noreply.github.com> Date: Mon, 12 Aug 2024 14:15:33 -0400 Subject: [PATCH] feat: add account name suggestion (#144) * chore: rebuilt snap and site * feat: added '.idea/' to gitignore * fix: lint * fix: lint --- .gitignore | 5 +- packages/snap/package.json | 2 +- packages/snap/snap.manifest.json | 2 +- packages/snap/src/keyring.ts | 5 +- yarn.lock | 244 ++++++++++++++++++++++++++++++- 5 files changed, 251 insertions(+), 7 deletions(-) diff --git a/.gitignore b/.gitignore index 478ecd90..a8bc3759 100644 --- a/.gitignore +++ b/.gitignore @@ -80,4 +80,7 @@ node_modules/ !.yarn/plugins !.yarn/releases !.yarn/sdks -!.yarn/versions \ No newline at end of file +!.yarn/versions + +# IntelliJ +.idea/ diff --git a/packages/snap/package.json b/packages/snap/package.json index c8244c46..ed252764 100644 --- a/packages/snap/package.json +++ b/packages/snap/package.json @@ -41,7 +41,7 @@ "@ethereumjs/tx": "^4.1.2", "@ethereumjs/util": "^8.0.5", "@metamask/eth-sig-util": "^7.0.1", - "@metamask/keyring-api": "^1.0.0-rc.1", + "@metamask/keyring-api": "^8.1.0", "@metamask/snaps-types": "^3.0.0", "@metamask/utils": "^8.1.0", "uuid": "^9.0.0" diff --git a/packages/snap/snap.manifest.json b/packages/snap/snap.manifest.json index fa6f1613..6b0ba8ff 100644 --- a/packages/snap/snap.manifest.json +++ b/packages/snap/snap.manifest.json @@ -7,7 +7,7 @@ "url": "git+https://github.com/MetaMask/snap-simple-keyring.git" }, "source": { - "shasum": "kTIqxcFUYPRiaV7etXM0HpD+fSaJw/+ePbFgjXW3Btk=", + "shasum": "96JncouxgpYlO+pStmiLn2BYlVtphJ1zufxMmWswaIU=", "location": { "npm": { "filePath": "dist/bundle.js", diff --git a/packages/snap/src/keyring.ts b/packages/snap/src/keyring.ts index 29644d67..c26756f4 100644 --- a/packages/snap/src/keyring.ts +++ b/packages/snap/src/keyring.ts @@ -104,7 +104,10 @@ export class SimpleKeyring implements Keyring { ], type: EthAccountType.Eoa, }; - await this.#emitEvent(KeyringEvent.AccountCreated, { account }); + await this.#emitEvent(KeyringEvent.AccountCreated, { + account, + accountNameSuggestion: 'SSK Account', + }); this.#state.wallets[account.id] = { account, privateKey }; await this.#saveState(); return account; diff --git a/yarn.lock b/yarn.lock index c3afa152..ae0cf39c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2175,7 +2175,7 @@ __metadata: languageName: node linkType: hard -"@ethereumjs/tx@npm:^4.1.2": +"@ethereumjs/tx@npm:^4.1.2, @ethereumjs/tx@npm:^4.2.0": version: 4.2.0 resolution: "@ethereumjs/tx@npm:4.2.0" dependencies: @@ -3189,6 +3189,29 @@ __metadata: languageName: node linkType: hard +"@metamask/json-rpc-engine@npm:^9.0.1, @metamask/json-rpc-engine@npm:^9.0.2": + version: 9.0.2 + resolution: "@metamask/json-rpc-engine@npm:9.0.2" + dependencies: + "@metamask/rpc-errors": ^6.3.1 + "@metamask/safe-event-emitter": ^3.0.0 + "@metamask/utils": ^9.1.0 + checksum: 4c852c9f30d05706ee497a2aca3ef6df12aabcff4a71a7426a27d95829f20cf2ff45c774eb9d95224bf16c9555a8cd7e44dccaea1bd44eda4dc43bf298885272 + languageName: node + linkType: hard + +"@metamask/json-rpc-middleware-stream@npm:^8.0.1": + version: 8.0.2 + resolution: "@metamask/json-rpc-middleware-stream@npm:8.0.2" + dependencies: + "@metamask/json-rpc-engine": ^9.0.2 + "@metamask/safe-event-emitter": ^3.0.0 + "@metamask/utils": ^9.1.0 + readable-stream: ^3.6.2 + checksum: 0aa44b98e5832c158594e5b616d351c7c8da8f7bc8de0a14f91a043b92fd81f1a63eecac9b11f7ef4729f54d2f1ad1ae5b82db6188368cefac1ca31011b84730 + languageName: node + linkType: hard + "@metamask/key-tree@npm:^9.0.0": version: 9.0.0 resolution: "@metamask/key-tree@npm:9.0.0" @@ -3203,6 +3226,19 @@ __metadata: languageName: node linkType: hard +"@metamask/key-tree@npm:^9.1.2": + version: 9.1.2 + resolution: "@metamask/key-tree@npm:9.1.2" + dependencies: + "@metamask/scure-bip39": ^2.1.1 + "@metamask/utils": ^9.0.0 + "@noble/curves": ^1.2.0 + "@noble/hashes": ^1.3.2 + "@scure/base": ^1.0.0 + checksum: eb60bdbfa1806c2f248bf2602cd242e21b0fbe8bbb00ec97c3891739956a81e26c0dae125282a6207dbbe0643e727ff3574067b48210a0b01f12aae7b3159b77 + languageName: node + linkType: hard + "@metamask/keyring-api@npm:^1.0.0-rc.1": version: 1.0.0-rc.1 resolution: "@metamask/keyring-api@npm:1.0.0-rc.1" @@ -3219,6 +3255,22 @@ __metadata: languageName: node linkType: hard +"@metamask/keyring-api@npm:^8.1.0": + version: 8.1.0 + resolution: "@metamask/keyring-api@npm:8.1.0" + dependencies: + "@metamask/snaps-sdk": ^6.1.0 + "@metamask/superstruct": ^3.1.0 + "@metamask/utils": ^9.1.0 + "@types/uuid": ^9.0.8 + bech32: ^2.0.0 + uuid: ^9.0.1 + peerDependencies: + "@metamask/providers": ">=15 <18" + checksum: 12be90330432f9330f921f91fa7c7898b69c3f053395891311b8ac03b7c7b7ad849c1c7d9d058f1639dc2a2151bdace83deafa0e561a5dbf00ab7b8d018cf585 + languageName: node + linkType: hard + "@metamask/object-multiplex@npm:^1.1.0, @metamask/object-multiplex@npm:^1.2.0": version: 1.2.0 resolution: "@metamask/object-multiplex@npm:1.2.0" @@ -3230,6 +3282,16 @@ __metadata: languageName: node linkType: hard +"@metamask/object-multiplex@npm:^2.0.0": + version: 2.0.0 + resolution: "@metamask/object-multiplex@npm:2.0.0" + dependencies: + once: ^1.4.0 + readable-stream: ^3.6.2 + checksum: 54baea752a3ac7c2742c376512e00d4902d383e9da8787574d3b21eb0081523309e24e3915a98f3ae0341d65712b6832d2eb7eeb862f4ef0da1ead52dcde5387 + languageName: node + linkType: hard + "@metamask/permission-controller@npm:^4.1.2": version: 4.1.2 resolution: "@metamask/permission-controller@npm:4.1.2" @@ -3298,6 +3360,27 @@ __metadata: languageName: node linkType: hard +"@metamask/providers@npm:^17.1.2": + version: 17.1.2 + resolution: "@metamask/providers@npm:17.1.2" + dependencies: + "@metamask/json-rpc-engine": ^9.0.1 + "@metamask/json-rpc-middleware-stream": ^8.0.1 + "@metamask/object-multiplex": ^2.0.0 + "@metamask/rpc-errors": ^6.3.1 + "@metamask/safe-event-emitter": ^3.1.1 + "@metamask/utils": ^9.0.0 + detect-browser: ^5.2.0 + extension-port-stream: ^4.1.0 + fast-deep-equal: ^3.1.3 + is-stream: ^2.0.0 + readable-stream: ^3.6.2 + peerDependencies: + webextension-polyfill: ^0.10.0 || ^0.11.0 || ^0.12.0 + checksum: 4cfe612649120049abd5d496e02facd86d0851c10e810a3e1289629857da027d77524e6cb8706d38b993bc5fd696bce6f1d33c93bb7d15169b6422e063f205ea + languageName: node + linkType: hard + "@metamask/rpc-errors@npm:^6.0.0": version: 6.0.0 resolution: "@metamask/rpc-errors@npm:6.0.0" @@ -3308,6 +3391,16 @@ __metadata: languageName: node linkType: hard +"@metamask/rpc-errors@npm:^6.3.1": + version: 6.3.1 + resolution: "@metamask/rpc-errors@npm:6.3.1" + dependencies: + "@metamask/utils": ^9.0.0 + fast-safe-stringify: ^2.0.6 + checksum: 8761f5c0161cb3b342abd3ccccbd7b792f36a987e1f22c3f89b1bd29f72a2e35a2c91b58164fdd9dc3e5b67157500dcbdb5d04245117c14310c34cf42f7b8463 + languageName: node + linkType: hard + "@metamask/rpc-methods@npm:^3.0.0": version: 3.0.0 resolution: "@metamask/rpc-methods@npm:3.0.0" @@ -3339,6 +3432,13 @@ __metadata: languageName: node linkType: hard +"@metamask/safe-event-emitter@npm:^3.1.1": + version: 3.1.1 + resolution: "@metamask/safe-event-emitter@npm:3.1.1" + checksum: e24db4d7c20764bfc5b025065f92518c805f0ffb1da4820078b8cff7dcae964c0f354cf053fcb7ac659de015d5ffdf21aae5e8d44e191ee8faa9066855f22653 + languageName: node + linkType: hard + "@metamask/scure-bip39@npm:^2.1.0": version: 2.1.0 resolution: "@metamask/scure-bip39@npm:2.1.0" @@ -3349,6 +3449,16 @@ __metadata: languageName: node linkType: hard +"@metamask/scure-bip39@npm:^2.1.1": + version: 2.1.1 + resolution: "@metamask/scure-bip39@npm:2.1.1" + dependencies: + "@noble/hashes": ~1.3.2 + "@scure/base": ~1.1.3 + checksum: d03b4d0b3dba0e5c2014038b746ec86cc9c4420b4c6b9a224e3b4ebdb266b9170c968a3ad9693c6f5d1e76ce3c198479e9398bd30f1dc0f0920d7e9401612365 + languageName: node + linkType: hard + "@metamask/snap-simple-keyring-site@workspace:packages/site": version: 0.0.0-use.local resolution: "@metamask/snap-simple-keyring-site@workspace:packages/site" @@ -3415,7 +3525,7 @@ __metadata: "@metamask/eslint-config-nodejs": ^12.1.0 "@metamask/eslint-config-typescript": ^12.1.0 "@metamask/eth-sig-util": ^7.0.1 - "@metamask/keyring-api": ^1.0.0-rc.1 + "@metamask/keyring-api": ^8.1.0 "@metamask/snaps-cli": ^3.0.0 "@metamask/snaps-types": ^3.0.0 "@metamask/utils": ^8.1.0 @@ -3577,6 +3687,19 @@ __metadata: languageName: node linkType: hard +"@metamask/snaps-sdk@npm:^6.1.0": + version: 6.2.1 + resolution: "@metamask/snaps-sdk@npm:6.2.1" + dependencies: + "@metamask/key-tree": ^9.1.2 + "@metamask/providers": ^17.1.2 + "@metamask/rpc-errors": ^6.3.1 + "@metamask/superstruct": ^3.1.0 + "@metamask/utils": ^9.1.0 + checksum: b033221a4e4e0656d1d71799c759231e261f77324b153e2c528d962d949192290d37a8c7c868339dcf3aef06107566efcc465a3537bada0ea7b86c3de3aae7b9 + languageName: node + linkType: hard + "@metamask/snaps-types@npm:^3.0.0": version: 3.0.0 resolution: "@metamask/snaps-types@npm:3.0.0" @@ -3640,6 +3763,13 @@ __metadata: languageName: node linkType: hard +"@metamask/superstruct@npm:^3.1.0": + version: 3.1.0 + resolution: "@metamask/superstruct@npm:3.1.0" + checksum: 00e4d0c0aae8b25ccc1885c1db0bb4ed1590010570140c255e4deee3bf8a10c859c8fce5e475b4ae09c8a56316207af87585b91f7f5a5c028d668ccd111f19e3 + languageName: node + linkType: hard + "@metamask/types@npm:^1.1.0": version: 1.1.0 resolution: "@metamask/types@npm:1.1.0" @@ -3688,6 +3818,23 @@ __metadata: languageName: node linkType: hard +"@metamask/utils@npm:^9.0.0, @metamask/utils@npm:^9.1.0": + version: 9.1.0 + resolution: "@metamask/utils@npm:9.1.0" + dependencies: + "@ethereumjs/tx": ^4.2.0 + "@metamask/superstruct": ^3.1.0 + "@noble/hashes": ^1.3.1 + "@scure/base": ^1.1.3 + "@types/debug": ^4.1.7 + debug: ^4.3.4 + pony-cause: ^2.1.10 + semver: ^7.5.4 + uuid: ^9.0.1 + checksum: 01f2c71a8f06158d5335bfe96bfd2f3aa39ec6b2323c5d0ff1d3136071a3e8ff7c1804d640ba1d4e07f96f3e68a95ff7729ddfcd34b373e5fefd86d6ef12d034 + languageName: node + linkType: hard + "@mischnic/json-sourcemap@npm:^0.1.0": version: 0.1.0 resolution: "@mischnic/json-sourcemap@npm:0.1.0" @@ -3933,6 +4080,15 @@ __metadata: languageName: node linkType: hard +"@noble/curves@npm:^1.2.0": + version: 1.5.0 + resolution: "@noble/curves@npm:1.5.0" + dependencies: + "@noble/hashes": 1.4.0 + checksum: a43464c5db67a931b1c93d6634c98e30d791dd567408ebeffd582be1a7f31169f6f26b191e24a9552d89d935408bd8c3dfb90ad8b47286ecf53cbdd2d79d02af + languageName: node + linkType: hard + "@noble/ed25519@npm:^1.6.0": version: 1.7.3 resolution: "@noble/ed25519@npm:1.7.3" @@ -3947,6 +4103,13 @@ __metadata: languageName: node linkType: hard +"@noble/hashes@npm:1.4.0, @noble/hashes@npm:^1.3.2": + version: 1.4.0 + resolution: "@noble/hashes@npm:1.4.0" + checksum: 8ba816ae26c90764b8c42493eea383716396096c5f7ba6bea559993194f49d80a73c081f315f4c367e51bd2d5891700bcdfa816b421d24ab45b41cb03e4f3342 + languageName: node + linkType: hard + "@noble/hashes@npm:^1.0.0, @noble/hashes@npm:^1.3.1, @noble/hashes@npm:~1.3.0, @noble/hashes@npm:~1.3.1": version: 1.3.2 resolution: "@noble/hashes@npm:1.3.2" @@ -3961,6 +4124,13 @@ __metadata: languageName: node linkType: hard +"@noble/hashes@npm:~1.3.2": + version: 1.3.3 + resolution: "@noble/hashes@npm:1.3.3" + checksum: 8a6496d1c0c64797339bc694ad06cdfaa0f9e56cd0c3f68ae3666cfb153a791a55deb0af9c653c7ed2db64d537aa3e3054629740d2f2338bb1dcb7ab60cd205b + languageName: node + linkType: hard + "@noble/secp256k1@npm:^1.5.5, @noble/secp256k1@npm:^1.7.1": version: 1.7.1 resolution: "@noble/secp256k1@npm:1.7.1" @@ -4680,6 +4850,13 @@ __metadata: languageName: node linkType: hard +"@scure/base@npm:^1.1.3, @scure/base@npm:~1.1.3": + version: 1.1.7 + resolution: "@scure/base@npm:1.1.7" + checksum: d9084be9a2f27971df1684af9e40bb750e86f549345e1bb3227fb61673c0c83569c92c1cb0a4ddccb32650b39d3cd3c145603b926ba751c9bc60c27317549b20 + languageName: node + linkType: hard + "@scure/bip32@npm:1.3.1": version: 1.3.1 resolution: "@scure/bip32@npm:1.3.1" @@ -5931,6 +6108,13 @@ __metadata: languageName: node linkType: hard +"@types/uuid@npm:^9.0.8": + version: 9.0.8 + resolution: "@types/uuid@npm:9.0.8" + checksum: b8c60b7ba8250356b5088302583d1704a4e1a13558d143c549c408bf8920535602ffc12394ede77f8a8083511b023704bc66d1345792714002bfa261b17c5275 + languageName: node + linkType: hard + "@types/ws@npm:^8.5.5": version: 8.5.5 resolution: "@types/ws@npm:8.5.5" @@ -6381,6 +6565,15 @@ __metadata: languageName: node linkType: hard +"abort-controller@npm:^3.0.0": + version: 3.0.0 + resolution: "abort-controller@npm:3.0.0" + dependencies: + event-target-shim: ^5.0.0 + checksum: 170bdba9b47b7e65906a28c8ce4f38a7a369d78e2271706f020849c1bfe0ee2067d4261df8bbb66eb84f79208fd5b710df759d64191db58cfba7ce8ef9c54b75 + languageName: node + linkType: hard + "abortcontroller-polyfill@npm:^1.1.9": version: 1.7.5 resolution: "abortcontroller-polyfill@npm:1.7.5" @@ -7449,6 +7642,13 @@ __metadata: languageName: node linkType: hard +"bech32@npm:^2.0.0": + version: 2.0.0 + resolution: "bech32@npm:2.0.0" + checksum: fa15acb270b59aa496734a01f9155677b478987b773bf701f465858bf1606c6a970085babd43d71ce61895f1baa594cb41a2cd1394bd2c6698f03cc2d811300e + languageName: node + linkType: hard + "better-opn@npm:^2.1.1": version: 2.1.1 resolution: "better-opn@npm:2.1.1" @@ -11285,6 +11485,13 @@ __metadata: languageName: node linkType: hard +"event-target-shim@npm:^5.0.0": + version: 5.0.1 + resolution: "event-target-shim@npm:5.0.1" + checksum: 1ffe3bb22a6d51bdeb6bf6f7cf97d2ff4a74b017ad12284cc9e6a279e727dc30a5de6bb613e5596ff4dc3e517841339ad09a7eec44266eccb1aa201a30448166 + languageName: node + linkType: hard + "eventemitter3@npm:^4.0.0": version: 4.0.7 resolution: "eventemitter3@npm:4.0.7" @@ -11452,6 +11659,17 @@ __metadata: languageName: node linkType: hard +"extension-port-stream@npm:^4.1.0": + version: 4.2.0 + resolution: "extension-port-stream@npm:4.2.0" + dependencies: + readable-stream: ^3.6.2 || ^4.4.2 + peerDependencies: + webextension-polyfill: ^0.10.0 || ^0.11.0 || ^0.12.0 + checksum: 85559c82e3f3aa21462e234b30b7d53872708893664cd03f2f848af556cf0730cf2243b089efc9d40bbe9a4f73bd8fd19684db5a985329b0c4402b4f2fe26358 + languageName: node + linkType: hard + "external-editor@npm:^3.0.3": version: 3.1.0 resolution: "external-editor@npm:3.1.0" @@ -17433,6 +17651,13 @@ __metadata: languageName: node linkType: hard +"pony-cause@npm:^2.1.10": + version: 2.1.11 + resolution: "pony-cause@npm:2.1.11" + checksum: 4aaa9ddab8f8225b5cbb32f7329a71b73679074579fa91f9e9d6853d398f3c2872de979519e1525c0c91d53afc82c32fddb76e379d19157e69ef1f7064523dfa + languageName: node + linkType: hard + "postcss-attribute-case-insensitive@npm:^5.0.2": version: 5.0.2 resolution: "postcss-attribute-case-insensitive@npm:5.0.2" @@ -19062,6 +19287,19 @@ __metadata: languageName: node linkType: hard +"readable-stream@npm:^3.6.2 || ^4.4.2": + version: 4.5.2 + resolution: "readable-stream@npm:4.5.2" + dependencies: + abort-controller: ^3.0.0 + buffer: ^6.0.3 + events: ^3.3.0 + process: ^0.11.10 + string_decoder: ^1.3.0 + checksum: c4030ccff010b83e4f33289c535f7830190773e274b3fcb6e2541475070bdfd69c98001c3b0cb78763fc00c8b62f514d96c2b10a8bd35d5ce45203a25fa1d33a + languageName: node + linkType: hard + "readable-web-to-node-stream@npm:^3.0.0, readable-web-to-node-stream@npm:^3.0.2": version: 3.0.2 resolution: "readable-web-to-node-stream@npm:3.0.2" @@ -21992,7 +22230,7 @@ __metadata: languageName: node linkType: hard -"uuid@npm:^9.0.0": +"uuid@npm:^9.0.0, uuid@npm:^9.0.1": version: 9.0.1 resolution: "uuid@npm:9.0.1" bin: