diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 7f797374..5fe7cd86 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -25,7 +25,7 @@ import type {ToolConfig} from '@/types/ToolConfig'
import Tool from '~/components/Tool.vue'
@Component
-export default class UuidGenerator extends Tool {
+export default class MyComponent extends Tool {
config(): ToolConfig {
return {
title: 'My component',
diff --git a/package-lock.json b/package-lock.json
index ca6bcc01..59cc8358 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4505,6 +4505,24 @@
"file-uri-to-path": "1.0.0"
}
},
+ "bip39": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/bip39/-/bip39-3.0.3.tgz",
+ "integrity": "sha512-P0dKrz4g0V0BjXfx7d9QNkJ/Txcz/k+hM9TnjqjUaXtuOfAvxXSw2rJw8DX0e3ZPwnK/IgDxoRqf0bvoVCqbMg==",
+ "requires": {
+ "@types/node": "11.11.6",
+ "create-hash": "^1.1.0",
+ "pbkdf2": "^3.0.9",
+ "randombytes": "^2.0.1"
+ },
+ "dependencies": {
+ "@types/node": {
+ "version": "11.11.6",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz",
+ "integrity": "sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ=="
+ }
+ }
+ },
"bluebird": {
"version": "3.7.2",
"resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
diff --git a/package.json b/package.json
index 3633457e..86e39939 100644
--- a/package.json
+++ b/package.json
@@ -16,6 +16,7 @@
"@nuxtjs/axios": "^5.13.1",
"@nuxtjs/pwa": "^3.0.2",
"@nuxtjs/toast": "^3.3.1",
+ "bip39": "^3.0.3",
"core-js": "^3.6.5",
"crypto-js": "^4.0.0",
"nuxt": "^2.14.12",
diff --git a/pages/tools/crypto/bip39-generator.vue b/pages/tools/crypto/bip39-generator.vue
new file mode 100644
index 00000000..337dc0ec
--- /dev/null
+++ b/pages/tools/crypto/bip39-generator.vue
@@ -0,0 +1,110 @@
+
+
+
+
+
+
+
+ refresh
+
+
+
+
+
+
+
+
diff --git a/types/VForm.ts b/types/VForm.ts
new file mode 100644
index 00000000..ead75e5b
--- /dev/null
+++ b/types/VForm.ts
@@ -0,0 +1,2 @@
+
+export type VForm = Vue & { validate: () => boolean }