-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: add mnemonic validation #94
Conversation
🦙 MegaLinter status:
|
Descriptor | Linter | Files | Fixed | Errors | Elapsed time |
---|---|---|---|---|---|
✅ EDITORCONFIG | editorconfig-checker | 2 | 0 | 0.01s | |
✅ KOTLIN | ktlint | 2 | 0 | 12.64s | |
devskim | yes | 6 | 1.93s | ||
✅ REPOSITORY | dustilock | yes | no | 0.19s | |
✅ REPOSITORY | gitleaks | yes | no | 2.12s | |
✅ REPOSITORY | git_diff | yes | no | 0.04s | |
✅ REPOSITORY | secretlint | yes | no | 5.08s | |
✅ REPOSITORY | syft | yes | no | 0.58s | |
✅ REPOSITORY | trivy | yes | no | 6.95s |
See detailed report in MegaLinter reports
Set VALIDATE_ALL_CODEBASE: true
in mega-linter.yml to validate all sources, not only the diff
67bed8a
to
3f259f5
Compare
class InvalidMnemonicCode(code: String) : RuntimeException(code) | ||
|
||
fun isValidMnemonicCode(code: Array<String>): Boolean { | ||
return code.all { it in MnemonicCodeEnglish.wordList } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We also need to support for the other languages that we currently provides.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is on commonMain so all platforms are supported no?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think @hamada147 means spoken languages, not coding languages. Is that correct?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well although the code is there for other languages we actually don't support or use it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, @cristianIOHK. I meant not only handle MnemonicCodeEnglish
but also the others
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah although I agree with you both. At some point we decided to just use English for now, since it's our case, we left the other languages list in the code, but you check that we just use the English
. ;)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we use English only right now. You can ignore my comment as I thought we are supporting the others as well.
Add mnemomic validation Also changing a public API to receive an array of Mnemonics words instead of a pre processed string that could complicate logic on user side
3f259f5
to
ceeae56
Compare
Code Coverage
|
…rism-apollo into feature/ATL-5687 * 'feature/ATL-5687' of github.com:input-output-hk/atala-prism-apollo: fix: deployment script (#101) build: increase gradle version 1.0.2 (#100) feat(BAE): updating jsMain Ed25519 keys for use in TS (#92) fix: constructor and access to some methods were missing in ios (#93) fix: bugs found while integrating apollo with KMP SDK (#98) fix: KMP Gradle bug (#99) build: increase gradle version 1.0.1 (#97) feature: add publicKey to PrivateKeys (#96) feat: compress and uncompress secp256k1 functionality for (macos,ios,js,android,jvm) (#95) feat: add mnemonic validation (#94) # Conflicts: # base-asymmetric-encryption/src/commonMain/kotlin/io/iohk/atala/prism/apollo/utils/KMMECSecp256k1PublicKey.kt
# 1.0.0-snapshot.1 (2023-11-10) ### Bug Fixes * Add all the required dependencies for Apollo to build with the native cinterops ios version of secp256k1 ec. ([1ca5b68](1ca5b68)) * add empty changelog ([db7ebee](db7ebee)) * add new line at end of file ([a6ab13c](a6ab13c)) * add new line to build.gradle.kts files ([f84b4e4](f84b4e4)) * BigInteger has no corresponding exportable dataType in JS ([#88](#88)) ([3e636be](3e636be)) * bugs found while integrating apollo with KMP SDK ([#98](#98)) ([de71265](de71265)) * CI nonsense error ([1963ad2](1963ad2)) * ci reported linting issues ([31aee01](31aee01)) * ci wrong reported issues by mega lint ([b6da47a](b6da47a)) * **CI:** Update GitHub Actions script ([#90](#90)) ([e6f6d46](e6f6d46)) * code linting ([94ededd](94ededd)) * code linting errors ([69dfbd1](69dfbd1)) * code linting errors ([9774cbc](9774cbc)) * constructor and access to some methods were missing in ios ([#93](#93)) ([a64d707](a64d707)) * deployment script ([#101](#101)) ([6435bf8](6435bf8)) * disable JS on windows platform ([6a2bfd4](6a2bfd4)) * enforce code format ([39f4474](39f4474)) * enforce code format ([9e946fc](9e946fc)) * enforce code format ([f034d69](f034d69)) * enforce code quality ([3b060dd](3b060dd)) * fix deployment CI script ([4583b2f](4583b2f)) * fix error in git ([85d1965](85d1965)) * fix for issue [#30](#30) ([b1c1a4e](b1c1a4e)) * fix group id ([4a70cd6](4a70cd6)) * fixed wrong import in UUID ([622187b](622187b)) * gradle build script ([b191baa](b191baa)) * HMAC for JS platform ([6ce142c](6ce142c)) * iOS import was removed by mistake ([9994889](9994889)) * js module name ([06e4310](06e4310)) * KMP Gradle bug ([#99](#99)) ([648bcdd](648bcdd)) * linting issue ([7918146](7918146)) * Publish npm package ([#103](#103)) ([81ac735](81ac735)) * **secp256k1:** Exposing EC Secp256K1 ([#89](#89)) ([90a578a](90a578a)) * suppress not needed warnings ([0b800c8](0b800c8)) * test apollo release ([8fd52ff](8fd52ff)) ### Features * add mnemonic validation ([#94](#94)) ([173ad94](173ad94)) * add test dependency ([a6b7b25](a6b7b25)) * add UnsupportedOperationException ([852644d](852644d)) * AES & fixes ([d60cafb](d60cafb)) * AES encryption & decryption ([e4af9ec](e4af9ec)) * Apollo to support all apple devices ([b4c22ed](b4c22ed)) * Apollo to support all apple devices ([355970f](355970f)) * Apollo to support all apple devices ([de6fd03](de6fd03)) * **BAE:** updating jsMain Ed25519 keys for use in TS ([#92](#92)) ([c7d3bc1](c7d3bc1)) * base symmetric key encryption module ([b7fb2a3](b7fb2a3)) * Base16 encoding & decoding ([a6be3b8](a6be3b8)) * Base16 Upper ([85fbbef](85fbbef)) * Base32 ([c0ff1f7](c0ff1f7)) * Base58 ([e4c9602](e4c9602)) * base64 ([f1ddaa3](f1ddaa3)) * base64 module init ([f3311a0](f3311a0)) * **bip32:** add hd derivation for jvm/android, ios/macos and js ([#84](#84)) ([d564507](d564507)) * **bip39:** Add Bip39 implementation for all platforms ([#78](#78)) ([b695878](b695878)) * char ext ([8a68df1](8a68df1)) * compress and uncompress secp256k1 functionality for (macos,ios,js,android,jvm) ([#95](#95)) ([21c33e4](21c33e4)) * Ed25519 ([eb7f52a](eb7f52a)) * **ed25519:** add jvm and android ed25519 implementation ([#85](#85)) ([ee9757d](ee9757d)) * **ED25519:** ED25519 jsMain implementation ([#76](#76)) ([e8945df](e8945df)) * **ed25519:** ios, macos implementation of ed25519 ([#79](#79)) ([a25798c](a25798c)) * **Experience:** add data type helper methods ([c52cd79](c52cd79)) * **Experience:** add transfer between iOS & KMM ([55ccca5](55ccca5)) * **Experience:** platform os ([208a04f](208a04f)) * **Hashing:** add HashingBase for MD and SHA(1,2) ([859b62a](859b62a)) * **Hashing:** add MathHelper ([2e40af9](2e40af9)) * **Hashing:** BLAKE-family Unit tests ([f414634](f414634)) * **Hashing:** BLAKE224 ([f2d658e](f2d658e)) * **Hashing:** BLAKE256 ([0b02aef](0b02aef)) * **Hashing:** BLAKE2B ([a6ed518](a6ed518)) * **Hashing:** BLAKE2B Unit tests ([45de7b6](45de7b6)) * **Hashing:** BLAKE2B-160 ([dacbb57](dacbb57)) * **Hashing:** BLAKE2B-256 ([0ed656d](0ed656d)) * **Hashing:** BLAKE2B-384 ([32d8ce6](32d8ce6)) * **Hashing:** BLAKE2B-512 ([f1d5043](f1d5043)) * **Hashing:** BLAKE2S ([50bb741](50bb741)) * **Hashing:** BLAKE2S Unit tests ([1284bb3](1284bb3)) * **Hashing:** BLAKE2S-128 ([fbf9ed2](fbf9ed2)) * **Hashing:** BLAKE2S-160 ([9a6e6a6](9a6e6a6)) * **Hashing:** BLAKE2S-224 ([dad2561](dad2561)) * **Hashing:** BLAKE2S-256 ([d2c0fc8](d2c0fc8)) * **Hashing:** BLAKE384 ([dc42633](dc42633)) * **Hashing:** BLAKE512 ([2a4e1b5](2a4e1b5)) * **Hashing:** digest interface ([4548aa1](4548aa1)) * **Hashing:** KeccakDigest ([a10f5f2](a10f5f2)) * **Hashing:** MD2 ([803fc73](803fc73)) * **Hashing:** MD4 ([859d26a](859d26a)) * **Hashing:** MD5 ([9f57ce5](9f57ce5)) * **Hashing:** SHA0 ([2469d1d](2469d1d)) * **Hashing:** SHA0 Unit tests ([482b3a9](482b3a9)) * **Hashing:** SHA1 ([f33d1d9](f33d1d9)) * **Hashing:** SHA1 Unit Tests ([b83af38](b83af38)) * **Hashing:** SHA224 ([47534f7](47534f7)) * **Hashing:** SHA224 Unit tests ([59d8751](59d8751)) * **Hashing:** SHA256 ([a12af78](a12af78)) * **Hashing:** SHA256 Unit tests ([c829aab](c829aab)) * **Hashing:** SHA3-224 ([372e5a9](372e5a9)) * **Hashing:** SHA3-256 ([a885989](a885989)) * **Hashing:** SHA3-384 ([2fa5b14](2fa5b14)) * **Hashing:** SHA3-512 ([e45543e](e45543e)) * **Hashing:** SHA3-family Unit tests ([ac535d2](ac535d2)) * **Hashing:** SHA384 ([207a58e](207a58e)) * **Hashing:** SHA384 Unit tests ([09ec034](09ec034)) * **Hashing:** SHA512 ([a9d10bf](a9d10bf)) * **Hashing:** SHA512 Unit tests ([c567ff7](c567ff7)) * **Hashing:** SHA512/224 ([192b205](192b205)) * **Hashing:** SHA512/224 Unit test ([62a2ede](62a2ede)) * **Hashing:** SHA512/256 ([6ddd004](6ddd004)) * **Hashing:** SHA512/256 Unit test ([24450a4](24450a4)) * Long ext ([fe5e1cf](fe5e1cf)) * **MAC:** HMAC implementation ([935d9c2](935d9c2)) * **mnemonic:** js doesnt handle List and swift doesnt handle Array this is the solution ([#105](#105)) ([e65e0f0](e65e0f0)) * multibase ([73a1e7b](73a1e7b)) * NumberFormatException ext ([8955561](8955561)) * **secp256k1:** add library to be our dependency for secp256k1 in android, jvm, ios, macos, js ([3e41246](3e41246)) * Secure Random ([e577736](e577736)) * Utils module ([ba7eefb](ba7eefb)) * UUID ([85afcb8](85afcb8)) * UUID init ([a1d9b65](a1d9b65)) * x25519 key pair generation ([4227c2c](4227c2c)) * **x25519:** add x25519 implementation for ios, macos ([#80](#80)) ([c18c0eb](c18c0eb))
# 1.0.0 (2023-11-13) ### Bug Fixes * Add all the required dependencies for Apollo to build with the native cinterops ios version of secp256k1 ec. ([1ca5b68](1ca5b68)) * add new line at end of file ([a6ab13c](a6ab13c)) * add new line to build.gradle.kts files ([f84b4e4](f84b4e4)) * BigInteger has no corresponding exportable dataType in JS ([#88](#88)) ([3e636be](3e636be)) * bugs found while integrating apollo with KMP SDK ([#98](#98)) ([de71265](de71265)) * CI nonsense error ([1963ad2](1963ad2)) * ci reported linting issues ([31aee01](31aee01)) * ci wrong reported issues by mega lint ([b6da47a](b6da47a)) * **CI:** Update GitHub Actions script ([#90](#90)) ([e6f6d46](e6f6d46)) * code linting ([94ededd](94ededd)) * code linting errors ([69dfbd1](69dfbd1)) * code linting errors ([9774cbc](9774cbc)) * constructor and access to some methods were missing in ios ([#93](#93)) ([a64d707](a64d707)) * deployment script ([#101](#101)) ([6435bf8](6435bf8)) * disable JS on windows platform ([6a2bfd4](6a2bfd4)) * enforce code format ([39f4474](39f4474)) * enforce code format ([9e946fc](9e946fc)) * enforce code format ([f034d69](f034d69)) * enforce code quality ([3b060dd](3b060dd)) * fix deployment CI script ([4583b2f](4583b2f)) * fix error in git ([85d1965](85d1965)) * fix for issue [#30](#30) ([b1c1a4e](b1c1a4e)) * fix group id ([4a70cd6](4a70cd6)) * fixed wrong import in UUID ([622187b](622187b)) * gradle build script ([b191baa](b191baa)) * HMAC for JS platform ([6ce142c](6ce142c)) * iOS import was removed by mistake ([9994889](9994889)) * js module name ([06e4310](06e4310)) * KMP Gradle bug ([#99](#99)) ([648bcdd](648bcdd)) * linting issue ([7918146](7918146)) * Publish npm package ([#103](#103)) ([81ac735](81ac735)) * **secp256k1:** Exposing EC Secp256K1 ([#89](#89)) ([90a578a](90a578a)) * suppress not needed warnings ([0b800c8](0b800c8)) ### Features * add mnemonic validation ([#94](#94)) ([173ad94](173ad94)) * add test dependency ([a6b7b25](a6b7b25)) * add UnsupportedOperationException ([852644d](852644d)) * AES & fixes ([d60cafb](d60cafb)) * AES encryption & decryption ([e4af9ec](e4af9ec)) * Apollo to support all apple devices ([b4c22ed](b4c22ed)) * Apollo to support all apple devices ([355970f](355970f)) * Apollo to support all apple devices ([de6fd03](de6fd03)) * **BAE:** updating jsMain Ed25519 keys for use in TS ([#92](#92)) ([c7d3bc1](c7d3bc1)) * base symmetric key encryption module ([b7fb2a3](b7fb2a3)) * Base16 encoding & decoding ([a6be3b8](a6be3b8)) * Base16 Upper ([85fbbef](85fbbef)) * Base32 ([c0ff1f7](c0ff1f7)) * Base58 ([e4c9602](e4c9602)) * base64 ([f1ddaa3](f1ddaa3)) * base64 module init ([f3311a0](f3311a0)) * **bip32:** add hd derivation for jvm/android, ios/macos and js ([#84](#84)) ([d564507](d564507)) * **bip39:** Add Bip39 implementation for all platforms ([#78](#78)) ([b695878](b695878)) * char ext ([8a68df1](8a68df1)) * compress and uncompress secp256k1 functionality for (macos,ios,js,android,jvm) ([#95](#95)) ([21c33e4](21c33e4)) * Ed25519 ([eb7f52a](eb7f52a)) * **ed25519:** add jvm and android ed25519 implementation ([#85](#85)) ([ee9757d](ee9757d)) * **ED25519:** ED25519 jsMain implementation ([#76](#76)) ([e8945df](e8945df)) * **ed25519:** ios, macos implementation of ed25519 ([#79](#79)) ([a25798c](a25798c)) * **Experience:** add data type helper methods ([c52cd79](c52cd79)) * **Experience:** add transfer between iOS & KMM ([55ccca5](55ccca5)) * **Experience:** platform os ([208a04f](208a04f)) * **Hashing:** add HashingBase for MD and SHA(1,2) ([859b62a](859b62a)) * **Hashing:** add MathHelper ([2e40af9](2e40af9)) * **Hashing:** BLAKE-family Unit tests ([f414634](f414634)) * **Hashing:** BLAKE224 ([f2d658e](f2d658e)) * **Hashing:** BLAKE256 ([0b02aef](0b02aef)) * **Hashing:** BLAKE2B ([a6ed518](a6ed518)) * **Hashing:** BLAKE2B Unit tests ([45de7b6](45de7b6)) * **Hashing:** BLAKE2B-160 ([dacbb57](dacbb57)) * **Hashing:** BLAKE2B-256 ([0ed656d](0ed656d)) * **Hashing:** BLAKE2B-384 ([32d8ce6](32d8ce6)) * **Hashing:** BLAKE2B-512 ([f1d5043](f1d5043)) * **Hashing:** BLAKE2S ([50bb741](50bb741)) * **Hashing:** BLAKE2S Unit tests ([1284bb3](1284bb3)) * **Hashing:** BLAKE2S-128 ([fbf9ed2](fbf9ed2)) * **Hashing:** BLAKE2S-160 ([9a6e6a6](9a6e6a6)) * **Hashing:** BLAKE2S-224 ([dad2561](dad2561)) * **Hashing:** BLAKE2S-256 ([d2c0fc8](d2c0fc8)) * **Hashing:** BLAKE384 ([dc42633](dc42633)) * **Hashing:** BLAKE512 ([2a4e1b5](2a4e1b5)) * **Hashing:** digest interface ([4548aa1](4548aa1)) * **Hashing:** KeccakDigest ([a10f5f2](a10f5f2)) * **Hashing:** MD2 ([803fc73](803fc73)) * **Hashing:** MD4 ([859d26a](859d26a)) * **Hashing:** MD5 ([9f57ce5](9f57ce5)) * **Hashing:** SHA0 ([2469d1d](2469d1d)) * **Hashing:** SHA0 Unit tests ([482b3a9](482b3a9)) * **Hashing:** SHA1 ([f33d1d9](f33d1d9)) * **Hashing:** SHA1 Unit Tests ([b83af38](b83af38)) * **Hashing:** SHA224 ([47534f7](47534f7)) * **Hashing:** SHA224 Unit tests ([59d8751](59d8751)) * **Hashing:** SHA256 ([a12af78](a12af78)) * **Hashing:** SHA256 Unit tests ([c829aab](c829aab)) * **Hashing:** SHA3-224 ([372e5a9](372e5a9)) * **Hashing:** SHA3-256 ([a885989](a885989)) * **Hashing:** SHA3-384 ([2fa5b14](2fa5b14)) * **Hashing:** SHA3-512 ([e45543e](e45543e)) * **Hashing:** SHA3-family Unit tests ([ac535d2](ac535d2)) * **Hashing:** SHA384 ([207a58e](207a58e)) * **Hashing:** SHA384 Unit tests ([09ec034](09ec034)) * **Hashing:** SHA512 ([a9d10bf](a9d10bf)) * **Hashing:** SHA512 Unit tests ([c567ff7](c567ff7)) * **Hashing:** SHA512/224 ([192b205](192b205)) * **Hashing:** SHA512/224 Unit test ([62a2ede](62a2ede)) * **Hashing:** SHA512/256 ([6ddd004](6ddd004)) * **Hashing:** SHA512/256 Unit test ([24450a4](24450a4)) * Long ext ([fe5e1cf](fe5e1cf)) * **MAC:** HMAC implementation ([935d9c2](935d9c2)) * **mnemonic:** js doesnt handle List and swift doesnt handle Array this is the solution ([#105](#105)) ([e65e0f0](e65e0f0)) * multibase ([73a1e7b](73a1e7b)) * NumberFormatException ext ([8955561](8955561)) * **secp256k1:** add library to be our dependency for secp256k1 in android, jvm, ios, macos, js ([3e41246](3e41246)) * Secure Random ([e577736](e577736)) * Utils module ([ba7eefb](ba7eefb)) * UUID ([85afcb8](85afcb8)) * UUID init ([a1d9b65](a1d9b65)) * x25519 key pair generation ([4227c2c](4227c2c)) * **x25519:** add x25519 implementation for ios, macos ([#80](#80)) ([c18c0eb](c18c0eb))
Co-authored-by: Ahmed Moussa <[email protected]> Signed-off-by: Goncalo Frade <[email protected]>
# 1.0.0 (2023-11-13) ### Bug Fixes * Add all the required dependencies for Apollo to build with the native cinterops ios version of secp256k1 ec. ([1ca5b68](1ca5b68)) * add new line at end of file ([a6ab13c](a6ab13c)) * add new line to build.gradle.kts files ([f84b4e4](f84b4e4)) * BigInteger has no corresponding exportable dataType in JS ([#88](#88)) ([3e636be](3e636be)) * bugs found while integrating apollo with KMP SDK ([#98](#98)) ([de71265](de71265)) * CI nonsense error ([1963ad2](1963ad2)) * ci reported linting issues ([31aee01](31aee01)) * ci wrong reported issues by mega lint ([b6da47a](b6da47a)) * **CI:** Update GitHub Actions script ([#90](#90)) ([e6f6d46](e6f6d46)) * code linting ([94ededd](94ededd)) * code linting errors ([69dfbd1](69dfbd1)) * code linting errors ([9774cbc](9774cbc)) * constructor and access to some methods were missing in ios ([#93](#93)) ([a64d707](a64d707)) * deployment script ([#101](#101)) ([6435bf8](6435bf8)) * disable JS on windows platform ([6a2bfd4](6a2bfd4)) * enforce code format ([39f4474](39f4474)) * enforce code format ([9e946fc](9e946fc)) * enforce code format ([f034d69](f034d69)) * enforce code quality ([3b060dd](3b060dd)) * fix deployment CI script ([4583b2f](4583b2f)) * fix error in git ([85d1965](85d1965)) * fix for issue [#30](#30) ([b1c1a4e](b1c1a4e)) * fix group id ([4a70cd6](4a70cd6)) * fixed wrong import in UUID ([622187b](622187b)) * gradle build script ([b191baa](b191baa)) * HMAC for JS platform ([6ce142c](6ce142c)) * iOS import was removed by mistake ([9994889](9994889)) * js module name ([06e4310](06e4310)) * KMP Gradle bug ([#99](#99)) ([648bcdd](648bcdd)) * linting issue ([7918146](7918146)) * Publish npm package ([#103](#103)) ([81ac735](81ac735)) * **secp256k1:** Exposing EC Secp256K1 ([#89](#89)) ([90a578a](90a578a)) * suppress not needed warnings ([0b800c8](0b800c8)) ### Features * add mnemonic validation ([#94](#94)) ([173ad94](173ad94)) * add test dependency ([a6b7b25](a6b7b25)) * add UnsupportedOperationException ([852644d](852644d)) * AES & fixes ([d60cafb](d60cafb)) * AES encryption & decryption ([e4af9ec](e4af9ec)) * Apollo to support all apple devices ([b4c22ed](b4c22ed)) * Apollo to support all apple devices ([355970f](355970f)) * Apollo to support all apple devices ([de6fd03](de6fd03)) * **BAE:** updating jsMain Ed25519 keys for use in TS ([#92](#92)) ([c7d3bc1](c7d3bc1)) * base symmetric key encryption module ([b7fb2a3](b7fb2a3)) * Base16 encoding & decoding ([a6be3b8](a6be3b8)) * Base16 Upper ([85fbbef](85fbbef)) * Base32 ([c0ff1f7](c0ff1f7)) * Base58 ([e4c9602](e4c9602)) * base64 ([f1ddaa3](f1ddaa3)) * base64 module init ([f3311a0](f3311a0)) * **bip32:** add hd derivation for jvm/android, ios/macos and js ([#84](#84)) ([d564507](d564507)) * **bip39:** Add Bip39 implementation for all platforms ([#78](#78)) ([b695878](b695878)) * char ext ([8a68df1](8a68df1)) * compress and uncompress secp256k1 functionality for (macos,ios,js,android,jvm) ([#95](#95)) ([21c33e4](21c33e4)) * Ed25519 ([eb7f52a](eb7f52a)) * **ed25519:** add jvm and android ed25519 implementation ([#85](#85)) ([ee9757d](ee9757d)) * **ED25519:** ED25519 jsMain implementation ([#76](#76)) ([e8945df](e8945df)) * **ed25519:** ios, macos implementation of ed25519 ([#79](#79)) ([a25798c](a25798c)) * **Experience:** add data type helper methods ([c52cd79](c52cd79)) * **Experience:** add transfer between iOS & KMM ([55ccca5](55ccca5)) * **Experience:** platform os ([208a04f](208a04f)) * **Hashing:** add HashingBase for MD and SHA(1,2) ([859b62a](859b62a)) * **Hashing:** add MathHelper ([2e40af9](2e40af9)) * **Hashing:** BLAKE-family Unit tests ([f414634](f414634)) * **Hashing:** BLAKE224 ([f2d658e](f2d658e)) * **Hashing:** BLAKE256 ([0b02aef](0b02aef)) * **Hashing:** BLAKE2B ([a6ed518](a6ed518)) * **Hashing:** BLAKE2B Unit tests ([45de7b6](45de7b6)) * **Hashing:** BLAKE2B-160 ([dacbb57](dacbb57)) * **Hashing:** BLAKE2B-256 ([0ed656d](0ed656d)) * **Hashing:** BLAKE2B-384 ([32d8ce6](32d8ce6)) * **Hashing:** BLAKE2B-512 ([f1d5043](f1d5043)) * **Hashing:** BLAKE2S ([50bb741](50bb741)) * **Hashing:** BLAKE2S Unit tests ([1284bb3](1284bb3)) * **Hashing:** BLAKE2S-128 ([fbf9ed2](fbf9ed2)) * **Hashing:** BLAKE2S-160 ([9a6e6a6](9a6e6a6)) * **Hashing:** BLAKE2S-224 ([dad2561](dad2561)) * **Hashing:** BLAKE2S-256 ([d2c0fc8](d2c0fc8)) * **Hashing:** BLAKE384 ([dc42633](dc42633)) * **Hashing:** BLAKE512 ([2a4e1b5](2a4e1b5)) * **Hashing:** digest interface ([4548aa1](4548aa1)) * **Hashing:** KeccakDigest ([a10f5f2](a10f5f2)) * **Hashing:** MD2 ([803fc73](803fc73)) * **Hashing:** MD4 ([859d26a](859d26a)) * **Hashing:** MD5 ([9f57ce5](9f57ce5)) * **Hashing:** SHA0 ([2469d1d](2469d1d)) * **Hashing:** SHA0 Unit tests ([482b3a9](482b3a9)) * **Hashing:** SHA1 ([f33d1d9](f33d1d9)) * **Hashing:** SHA1 Unit Tests ([b83af38](b83af38)) * **Hashing:** SHA224 ([47534f7](47534f7)) * **Hashing:** SHA224 Unit tests ([59d8751](59d8751)) * **Hashing:** SHA256 ([a12af78](a12af78)) * **Hashing:** SHA256 Unit tests ([c829aab](c829aab)) * **Hashing:** SHA3-224 ([372e5a9](372e5a9)) * **Hashing:** SHA3-256 ([a885989](a885989)) * **Hashing:** SHA3-384 ([2fa5b14](2fa5b14)) * **Hashing:** SHA3-512 ([e45543e](e45543e)) * **Hashing:** SHA3-family Unit tests ([ac535d2](ac535d2)) * **Hashing:** SHA384 ([207a58e](207a58e)) * **Hashing:** SHA384 Unit tests ([09ec034](09ec034)) * **Hashing:** SHA512 ([a9d10bf](a9d10bf)) * **Hashing:** SHA512 Unit tests ([c567ff7](c567ff7)) * **Hashing:** SHA512/224 ([192b205](192b205)) * **Hashing:** SHA512/224 Unit test ([62a2ede](62a2ede)) * **Hashing:** SHA512/256 ([6ddd004](6ddd004)) * **Hashing:** SHA512/256 Unit test ([24450a4](24450a4)) * Long ext ([fe5e1cf](fe5e1cf)) * **MAC:** HMAC implementation ([935d9c2](935d9c2)) * **mnemonic:** js doesnt handle List and swift doesnt handle Array this is the solution ([#105](#105)) ([e65e0f0](e65e0f0)) * multibase ([73a1e7b](73a1e7b)) * NumberFormatException ext ([8955561](8955561)) * **secp256k1:** add library to be our dependency for secp256k1 in android, jvm, ios, macos, js ([3e41246](3e41246)) * Secure Random ([e577736](e577736)) * Utils module ([ba7eefb](ba7eefb)) * UUID ([85afcb8](85afcb8)) * UUID init ([a1d9b65](a1d9b65)) * x25519 key pair generation ([4227c2c](4227c2c)) * **x25519:** add x25519 implementation for ios, macos ([#80](#80)) ([c18c0eb](c18c0eb))
Add mnemomic validation
Also changing a public API to receive an array of Mnemonics words instead of a pre processed string that could complicate logic on user side