Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat/94 - Extension: Storage updates (anoma#97)
* Begin setting up KeyRing & accounts storage * Adding a simple typed state class to keyring * Address helper to obtain ImplicitAddress, cargo update * Continue hooking up KeyRing to services * Fix broken imports, confirm message works in popup * Adding msg type for fetch generated mnemonic, update tests * Beginning components package; get styled-components with theme working * Disable devtool sourcemapping, add plugin for extension reloading (all browsers) * Properly include svg assets, port additional components into shared package * Fix issue on reloader plugin * fix module resolution, clean up imports * Remove unnecessary assignment * Consolidate types from Keplr into our own * Validate mnemonic phrase before storing, better error handling in wasm * Minor clean up, better type State class so as not to instantiate directly * Adding mnemonic/password creation screens, added README for types * Split set-up flow into new tab for initial account * Begin wiring up account derivation in service, generate implicit address to store and return * Add account derivation to completion process, load and display accounts * Better error-handling, add user feedback on account creation * Adding AccountListing components * Clean up configs, layout, fixed bug in key storage * Improved naming conventions, add implementation for scrypt, tests * Implement optional custom Scrypt params * Updated documentation * Add aes dependency, being basic implementation * KeyRing state is no longer duplicated, storage is only source of truth * Add icon for copy to clipboard, additional styling, update styled config * description -> alias to match cli, clean up * Adding UI for adding a new derived account with basic validation * Fix bug where alias is not being saved * Add "alias" as a field during setup * Updating for consistency, rough pass at styling derivation form * Move path items to number, validate inputs, set primes appropriately * Begin implementing kdf derived key as bytes * Fix naming on file extension, begin components for password auth * Add basic login/logout functionality, hook up to service backend * Clean up effects, check keyring status on auth * Fix minor bug when locking/unlocking wallet. Switch to numeric input * Fix sourcemap warning, reuse lock button wrapper, minor style * Update kdf libs for password hashing, tests, serializing params to JsValue * Add serializable struct and associated tests (params + bytes) * Fix naming convention, create storage type containing params * Moving storage updates to separate PR * Adding support for argon2 and scrypt pbkdf hashing * Cover Scrypt in jest tests * Clean up * Remove unused dependencies in this branch * 2 more dependencies that are unneeded * Adding dependencies * Clean up * Add serialize to key+params (argon2), add tests * Fix for Cargo * Improve custom params, add salt as an option * Initial implementation of AES+Argon2 with related tests * Clarify naming in jest test * Update scrypt to accept salt, optional params, similar tests with AES * Clean up * Add missing test for scrypt with provided salt, clean up * Clean up Rust lib, begin to implement encrypt/decrypt in KeyRing * Add simple Rng mod for generating random bytes * Touch up TS types * clean up tests * Connect KeyRing instance to new storage types, update UI * Minor styling, match account hierarchy to other wallets * Improve naming conventions, comments, updated for consistency * Couple minor fixes that slipped through the cracks * Minor updates per feedback * Minor updates per PR feedback
- Loading branch information