* Add a new route for AddressBook
* Further templating of the AddressBook view
* Add initial functionality to handle a table of existing address labels
* Make the linter happy
* Adjust paths
* Factor out TableRow and add common functionality
* Add initial Redux boilerplate for addressBook | fix minor linting issues
* Swap out terminology and types
* Connect up to Redux
* Connect data for AddressBookTable to Redux
* Use temporary fields for addition
* Remove alignment and index column
* Stopping point
* Adjust the sizing of rows to be consistent
* Initial implementation of a dropdown for the address field
* Minor styling to dropdown
* Stopping point
* Apply a focus concept onto the factory
* Add keyboard controls for the address field dropdown
* Adjust label of address field when it matches an addressBook entry
* Properly handle attempting to blur a non-existent component
* Minor styling changes on dropdown box
* Standardize address casing, add accessibility to dropdown
* Create an addressLabel component
* Pass refs correctly and fix some typings
* Exact version
* Add module name mapping for shared/keycodes
* addressBook reducer tests
* Add functionality to DeterministicModal
* Minor changes / Add test for addressBook selectors
* Move out AddressBookTable to a component
* Typing, translation and restructuring
* More typing and translation fixes
* More linting fixes
* More type changes
* Variable name for dropdown background
* Fix TS type errors, lint errors, remove unused props
* Used a different selector and removed method: AddressBookTable
* Linter was mad
* Linter mad again :(
* Add a translation and adjust styling of AddressBookTable
* Move the onBlur to a class method
* Prevent the default behavior of up/down/enter for dropdown
* Let's do it this way instead
* Adjust the styling on DeterministicWalletModal labels
* Change `AddressBookTable` into a pseudo-table using section and div
* Use readable keys vs. keycodes
* Put the dropdown in InputFactory and position it correctly
* Sanitation of label adding and changing
* Prevent duplicate labels in AddressBook and Row
* Add a box shadow and use `invalid` class insted of custom
* Use emphasis vs strong for address in dropdown
* Display the label undernearth the input vs. changing it
* Isolate AccountAddress into its own component
* Introduce interactivity to AccountAddress
* Fully incorporate with Redux
* Validation for AccountAddress
* Add validation notifications for address field on AddressBookTable
* Minor formatting
* Adjust wrappage for optimal flexboxxing
* Make AddressBookTable responsive
* Show an invalid input in "real time" instead of only on submit
* Real time input validation for AddressBookTableRow
* Responsive-ize the To address dropdown
* Hide identicons instead at small enough screen sizes
* Fix repsonsiveness of dropdown further
* Fix responsiveness of table rows and inputs
* Truncate account info and switch identicons to the right for consistency
* Use classnames instead of targetting element directly for DWM
* Display a notice if the entered query doesnt match a label and isnt an addr
* Don't show an error on the To address if its a label entry
* Display an error under AddressBookTableRow in real time
* Display errors in real time for AddressBookTable temp inputs
* Add realtime validation to AccountAddress
* Ensure toChecksumAddress is used when entering labels to address manager
* Show errors even after blurring.
* Only show errors on address/label entry if they have been blurred
* On certain inputs, show an invalid input immediately
* Add displayed errors for labels with 0x and labels containing ens
* Move ENS checking validation out
* Add a saga for addLabelForAddress
* Completely revamp the redux side of Address Manager and test it all
* Adjust components to use new redux addressBook
* Incorporate new redux into AddressBookTableRow and clean up for linter
* Make linter and tests happy
* Another reduxy overhaul
* Still fixing it
* More redux updates
* Finalize redux stuff.
* Incorporate new reduxy way into AddressBookTable & Row
* Incorporate redux changes into Account Address
* Small tests fix
* Add and fix some selector tests
* Addressing Will's comments
* Shortened visibility class for line length reasons.
* Remove beta agreement, move modals to Root, and initial work on welcome modal.
* Local storage detection for welcome modal
* Remove announcement from header. Allow tooltips to point in non-top directions.
* Show modal fade at bottom on non-footer modals
* Update README
* Update all links back to old mycrypto to classic.mycrypto, add footer link too.
* Localize welcome modal
* Remove release candidate version text, change to legacy.mycrypto instead of classic.mycrypto.
* update banner; add hackerone link
* Adjust update flow to not auto update, not publish in CI
* Revert "Adjust update flow to not auto update, not publish in CI"
This reverts commit 74fb382ce8d8cd9e227703ccfa8d6310bffd9dda.
* First pass at new app version modal
* Added app alpha notice that either warns you about alpha, or blocks the whole app.
* Improve newer version detection, add unit tests
* Remove native auto update behavior
* Notice once per session
* copy changes per PR review
* Fix#1569
* Use common component for handling "to" address
* If to address becomes invalid, hide contract interact explorer
* Add IS_CONTRACT_INTERACTION mode - fix bugs related to contract interact
* Bump shepherd version to fix bugs related to metamask + network switches
* Update mycrypto link downloads
* Update facebook link
* Remove console log from checktx
* Fix dollar sign on contract address in conf modal
* Fix unchecksummed address for metamask signing
* Cleanup unused classname
* Update generate keystore file description to be correct
* Add space to create new wallet banner
* Remove extra variable
* Do checksumming in library function instead of component
* Clear state on address change
* Frameless Electron. Separate electron template. Generecize navigation link. Move nav info to config.
* Add controls for language and node, network status to sidebar.
* Sticky headers
* Move custom node modal into standalone component. Render modals via portal. Add custom node modal opening to electron node list.
* Conditional styling based on environment.
* Fix active node highlight
* Add frame back in, draggable only on OSX, fix sidebar scroll.
* Remove panel content after delay.
* Adjust window sizes
* Style desktop help nav icon
* Remove unused var
* Move style to param
* Remove unused
* Update snapshot
* Fix oversized stretching, zindex fighting
* Make electron work better with various screen sizes
* Remove not-working https option for electron
* Add beta banner
* Fix web footer
* Address changes
* Added a shuffle to swap out the numbers and made them read-only.
* Add a border and an index when selecting a confirmation word
* Add error flashing
* Transform the inputs into buttons when confirming
* Change naming of "peek" to "revealing"
* If statement needs brackets
* Linter complaints
* Code cleanup
* Formatting and removing unused styles.
* Move out shuffle to a util
* Additional test cases
* Function call, forgot the parens
* Adjust sizing and position of confirmation index in Mnemonic button
* Implement requested style changes: selected buttons, margins on inputs
* Use lodahs shuffle
* No need to spread this array
* Parity Signer Squashed
* ParitySigner to be a container
* Parity Signer: style and polish
* target blank on appstore links
* PR fixes
* Move QrSignerModal to SendTransaction container
* Rework redux, use signing saga
* Cleanup
* Use new logo, change helpLink
* Rework finalize actions and types a bit
* Webcam info + wiki link on unlock screen
* Make the Parity QR Signer its own component, that has error messaging and ismore robust about adding / removing cameras.
* Unneded l10n
* Update account view routing
* Temporarily add unicode character to translated strings for testing
* Temporarily select add unicode to all untranslated strings
* Format changes
* Add all english translations for /account & /generate
* Add the rest of the english translations
* Add a few more missing translations
* Update en translations
* Get selectedLanguage from localstorage instead of redux sttate
* Update snapshots
* Add missing translation keys & Update translate functs & change variable prefix
* translate all markdown strings & remove old translation strings
* Update snapshot
* Add a few more translation strs
* Move raw strings being translated into json
* All translation keys are now Uppercase
* Fix up the last few translations
* Update snapshot
* Uppercase de translation strings
* Bring back shapeshift logo on swap
* Fix contracts tab translations
* Fix a few more translations
* Fix translations
* remove debugging stuff
* Update snapshots
* Use react.fragment as markdown root renderer
* Seperate markdown translations into their own function
* Clean up translation functions
* Clean up translation functions
* Update snapshot
* Fix some broken translation strings
* Add prettier ignore file
* Component layer and routing for transaction status.
* Initial start on redux for transactions.
* Initial crack at reducer / actions / saga for transactions.
* Finish off check transaction saga, reducer, component, and page.
* MyEtherWallet => MyCrypto
Note: Knowledge base links in translations are not working due to the new knowledge base. Some links link to the MyEtherWallet Chrome Extension.
* Update consoleAdvertisement.ts
* Update consoleAdvertisement.ts
* Update en.json
* Update consoleAdvertisement.ts
* Update InsecureWalletWarning.tsx
* Wipe tx modal clean & Update the subcomponents
* Add Amounts & Address styles
* Forgot to pass onlyIncludeLoader to GasLimitLoading component
* Add currency conversion
* Update styles
* Change SENDModal_Yes & _No messages
* Add visual summary
* Update fonts & add Roboto Mono
* Add details to tx-modal
* Display contract addr when sending tokens
* Add inline styles back to identicon (for paper wallet)
* Remove inline styles
* Update USD conversion conditions
* Display token to usd conversion
* Update styles
* Update modal styles
* Animate modals
* Add a fade effect when modal overflows
* Improve styles for mobile
* Remove dead code
* Update unlockHeader close button
* Update text overflow fade styles
* Fix invalid inline css prop
* Fix issue with 'isToken' condition
* Add table layout & update styles
* Remove unsupported styles
* Remove formatting diff
* update styles
* Update tx modal fixes (#999)
* chore(package): update @types/lodash to version 4.14.101 (#992)
* ENS Resolving (#942)
* Refactor BaseNode to be an interface INode
* Initial contract commit
* Remove redundant fallback ABI function
* First working iteration of Contract generator to be used in ENS branch
* Hide abi to clean up logging output
* Strip 0x prefix from output decode
* Handle unnamed output params
* Implement ability to supply output mappings to ABI functions
* Fix null case in outputMapping
* Add flow typing
* Add .call method to functions
* Partial commit for type refactor
* Temp contract type fix -- waiting for NPM modularization
* Remove empty files
* Cleanup contract
* Add call request to node interface
* Fix output mapping types
* Revert destructuring overboard
* Add sendCallRequest to rpcNode class and add typing
* Use enum for selecting ABI methods
* Add transaction capability to contracts
* Cleanup privaite/public members
* Remove broadcasting step from a contract transaction
* Cleanup uneeded types
* Refactor ens-base to typescript and add typings for ENS smart contracts
* Migrate ens-name-search to TS
* Add IResolveDomainRequest
* Fix rest of TSC errors
* Add definition file for bn.js
* Remove types-bn
* Fix some typings
* make isBN a static property
* progress commit -- swap out bignumber.js for bn.js
* Swap out bignumber for bn in vendor
* Change modn to number return
* Start to strip out units lib for a string manipulation based lib
* Convert codebase to only base units
* Get rid of useless component
* Handle only wei in values
* Use unit conversion in sidebar
* Automatically strip hex prefix, and handle decimal edge case
* Handle base 16 wei in transactions
* Make a render callback component for dealing with unit conversion
* Switch contracts to use bn.js, and get transaction values from signedTx instead of state
* Get send transaction working with bn.js
* Remove redundant hex stripping, return base value of tokens
* Cleanup unit file
* Re-implement toFixed for strings
* Use formatNumber in codebase
* Cleanup code
* Undo package test changes
* Update snapshot and remove console logs
* Use TokenValue / Wei more consistently where applicable
* Add typing to deterministicWallets, fix confirmation modal, make UnitDisplay more flexible
* Split different ENS modes into their own components
* Fix Abi typedef
* Remove redundant moment type package
* Add Aux helper component
* Split out resolve components
* Make 'to' parameter optional
* Change import type
* Change typing to be base domain request
* Split handling of resolving into object handler
* Fix countdown component
* Adjust element spacing
* Implement reveal search functionality
* Add unit display for highest bidder
* Fill out forbidden/NYA modes
* ENS wallet component skeleton
* Clean up prop handling in UnitDisplay
* Change instanceof to typeof check, change boolean of displayBalance
* Add ENS wallet component
* Cleanup spacing
* Convert ConfModal for bidding in ENS
* Make ui component for placing bids
* Fix destructure in placeBid
* Pass through entire wallet
* Remove text center
* Display inline notification ENS isValid & add some ENS tests
* Add export of Aux
* Reformat with prettier
* progress...
* Add ENSUnlockLayout
* Add RevealBid component
* organize NameResolve components
* Merge ENS with transaction-refactor changes
* Fix address resolution
* Update styles
* convert ens name to lowercase before checking
* Add overflow-y:scroll to table
* update ens snapshots & tests
* cast 'undefined' state argument as any for testing
* clean up components
* Connect unitconverter to redux state
* remove unnecessary type assertion
* fix spinner size
* remove old bidmodal
* validate bidmask before opening modal
* progress...
* Update styles
* Add saga / actions for placing a bid
* Update types & clean up dead code
* Delete old test
* Dispatch PlaceBidRequested acitons
* Progress commit -- get ENS bidding ready for tx generation via sagas
* Seperate ENS action creators and types
* Add reducer & actions for ENS fields
* Add preliminary sagas for bid mask and bid value
* Fix ts errors
* Get bidding fields connected with some validation
* Clean up generate bid
* Hook up generate bid to redux state
* Get bid data generation working
* Add support for bidding on already open auctions
* Move bid generation states to redux, improve default field values
* Remove generate bid component
* Throttle bid generation
* Progress commit -- Bid Modal
* Hook bidmodal component up to bidding component
* Update template modal to handle custom confirm behavior
* Remove old redux bidding actions, add new one for downloaded bids
* Save downloaded bids to local storage
* Finish bidding modal
* Fix gas estimation bug
* Fix typing
* Remove bidding related functionality
* Get passing unit tests
* Make previous test more comprehensive
* Fix ts errors
* Remove commented code
* Fix invalid return
* Remove implementation of revealing bid
* Update snapshot
* Fix tests
* Delegate bidding to V3
* Update react-markdown to the latest version 🚀 (#986)
* fix(package): update react-markdown to version 3.1.5
* Fix tsc errors, match original behaviour of V2 as closely as possible
* Add tooltip to gas slider (#997)
* Prevent invalid gas price states (#996)
* Slider using value instead of raw to prevent errors. Dont show empty gas price as invalid. Clamp slider values to min / max on mount.
* Remove gas price from local storage.
* Update @types/react to the latest version 🚀 (#912)
* chore(package): update @types/react to version 16.0.35
* Add stricter typing via function overloads
* Fix rest of aria translations
* Make implementation of confirmation modal template
* Address github comments for #928
* Make modal state setting more explicit
* Fix infinite loop of state setting on modal
* Fix transaction rebroadcasting for modal display
* Replace all mentions of MyEtherWallet in translations with MyCrypto
* Replace all translation mentions of kvhnuke/etherwallet repo with MyCryptoHQ/MyCrypto repo.
* Replace all instances of MEW with MyCrypto in translations.
* Replace all instances of myetherwallet.com with mycrypto.com
* First pass of myetherwallet -> mycrypto in codebase.
* Replace most MEWs and mews with MyCrypto or MyC or myc
* Update all assets, clean out unused old assets.
* Adjust v3 url
* Convert all links to help articles to a help link component to make future changes easier.
* Rework onboarding images
* Adjust logo colors due to CMY issue.
* Update donation address, remove mentions of mewtopia.eth
* Update license
* Update sosh meed and referral links.
* Fix more translations strings.
* Tscheck fix.
* Update shapeshift api key.
* Reorganize files to better match other components.
* Initial UI for wallet buttons.
* Fix leftover rebase conflict.
* Wallet selection, styling, mobile handling.
* Initial work on animations.
* Adjusted animations.
* Adjust wallet unlock forms to be more uniform. Fix view address saying 'unlock'
* Adjust tooltips.
* Fix embedded decrypt components.
* Cover whole sign msg form with decrypt.
* Give deploy contract a better unlock treatment like sign msg.
* Reset decrypt component on hide / show
* Unused var
* Fix tooltip hover.
* Fix hover lift.
* Make spacing better on mobile.
* Back button mobile handling.
* Redesign mobile button icons. Prevent clicking through when clicking on icons.
* TSCheck fixes.
* Attempt to unlock MetaMask onClick, and provide existing flow with notification when unlock fails.
* Get rid of outline.
* Remove decrypt min height. Make view only textarea.
* Add change wallet buttons to deploy contract and sign msg.
* Standardize
* export conditional input and hoc
* Move typings and fields out of send transaction
* Move fields into their own component for decoupled handling, use conditional inputs to simplify disabled components
* Handle hex and non hex strings automatically in BN conversion
* Fix handling of strings and numbers for BN
* add web3 fixes & comments
* Display short balances on deterministic modals
* add more tests, fix rounding
* Add spacer to balance sidebar network name
* Fix tsc error
* Add offline render CB
* Make more render callbacks
* Transform NonceField into its self contained component
* Remove styling from nonce field
* Better network handling in nonce cb
* Move network nonce initialization to componentDidMount
* Remove unessesary conditional input
* Make nonce component return a BN
* Simplify Query render cb
* Add gas query and token query render cbs
* Re-write address field component, strip out ENS name functionality for now
* Add address and data as unit types
* Cleanup Address Field component
* Export gas query
* Re-write gas field component
* Cleanup gas estimation check
* Re-write Data field
* Transaction field skeleton
* Export transaction field actions
* Rename fields to map to ethtx fields
* Make reducers for fields
* Fix reducer module exports
* Export reducer
* Formatting fix
* Type return of GasQuery
* Add transaction field getter / setter component
* Make transaction fields more flexible
* Formatting fix
* Split transaction fields component into two
* Remove erroneous prop
* Fix field naming to follow ethereum transaction fields
* Merge valid prop into componeent
* Change address field to be redux based
* Convert nonce field to redux based
* Make component for passing in current transaction
* Re-write Gas component to use redux state
* Reduxify data field component
* seperate transaction fields redux state into field data and meta data
* Rename SetTransactionFields to be singular
* Make render callback components for getting/setting meta fields
* Add non-zero option prop for token balance render cb
* re-write unit dropdown component to be redux based
* Make ether the first option
* Fix tsc error on tokenquery
* Handle query string default values in unit drop down
* Add thunks to package
* Add helper function for encoding transfer data
* Handle co-dependencies between fields via thunks, seperate value fields into ether and token based
* Fix wrong typing
* Add token metafield as export
* Start scaffolding out amount field component
* Make render cbs for conditional selection of value and balance
* Make render callbacks nullable
* Progress commit -- get dynaming swapping between tokens and ether working
* Get gas estimation working between ether and tokens
* Remove nonce from breaking gas estimation
* Add better validation for amount field
* Add 500ms debounce to gas saga
* Self contain custom message component
* Add web3 awareness to wallet render cb
* Add render cb for checking if wallet is unlocked
* Cleanup inline typing
* export available params
* Add render cb to render component when a query string exists
* Add boolean callback param that check that the transaction is filled by user
* Remove uneeded typings from send transaction
* Fix misnomer
* Self contain generate transaction button
* Compartmentalize more send transaction components
* Add query string warning, custom message and generate tx button to fields
* Cleanup send tx component with new components
* export render callbacks
* saga transaction scaffolding
* make gas saga fully declarative
* transaction lib renaming
* Seperate gasprice into its own generator
* Make action creators for tx sign actions
* Clean up signing saga, introduce reducer for signing, make HW wallet libs compatible with new tx format, fix some typing with ethereumjs-tx
* Add TransactionComparison component
* Add pushTx
* Progress commit -- Streamline web3 and local signing / broadcasting flows. Need to still implement reducers for broadcasting and notifications
* Get local transaction broadcasting working
* re-write confirmation modal to be redux based
* Fix spacing and import
* Move confirmation modal to be attached to send button, create send button
* Properly handle broadcasting for conf modal
* Handle gas cost > balance for send everything
* Add signing status as its own component (#454)
* Fix ledger errors not showing on notifs
* Make dedicated actions for swapping from tokens to ether and ether to tokens
* Split actionTypes file
* Cleanup comments
* Cleanup comments
* Fix various tsc errors
* Lay down infrastructure for saving configurations per-wallet.
* Add pending and rejected states properly to token values.
* Add custom token form improvements.
* Fix metamask transaction errors
* Fix send entire balance estimation
* Fix add token form from never being enabled.
* Initial pass at account tab with send and view wallet tabs.
* Fix inactive tab.
* Hide private key, toggling
* Progress commit -- Replacing render callbacks with selectors, put validation logic in sagas
* Moved the restore keystore functionality to view wallet info, and put it in a modal / util file.
* Fix navigation link active
* Force read only wallets to info tab.
* Remove commented code
* Saga-ify send everything
* Scan for new tokens, track saved tokens, only request tracked tokens on initial load.
* Add custom token to current wallets tracked tokens.
* Rework remove token icon.
* Adjust button margin
* Remove the rest of the needless render callbacks for selectors, sagaify nonce
* Bug fix send transaction
* remove unused redux-thunk
* Move fields to general components
* Clean up saga structure
* Refactor broadcast tx
* Implement better validation logic, get contract deploy working
* PR feedback.
* Convert tokenbalances component to connected redux component.
* Addressed feedback from Henry.
* Progress commit -- Implement Interact logic, needs manual testing
* Get rid of commented code
* move exports after declarations
* add tests, rough draft
* Get contract method calls working
* Bugfix contracts
* Cleanup hex prefixing
* Reset transaction state on wallet change
* Get rid of old send transaction component
* Disable sign transaction button when network request is underway
* Flatten send button tree, make nonce human readable in confirmation modal
* Add ghetto cost breakdown component, fix token field validation
* Create Generic SubTab and use in Send
* MVP of mnemonics with sub-tabs in Create Wallet view.
* Do dynamic revalidation
* move exports after declarations
* add forgotten signing tests
* update token spec
* update currentValue spec
* update validationHelpers spec
* Address TODO - use injected history to push navigation state instead of hardcoding window.location
* Use SubTabs in Contracts
* Fix revertPath prop for AcceptOrRedirectModal
* Use subtabs in SignAndVerifyMessage
* Routing for subtabs
* Fix routes, adjust sizing.
* Remove unused import
* Request nonce in base 10
* Add offline override to unit display
* Make cost breakdown less buggy
* Add non standard transaction warning
* Fix amount validity
* Cleanup datafield validity
* Display notif on gas estimation failure
* Add post-signing verification against fields, clean up gas price
* Fix tsc errors
* Code cleanup
* add exports to functions
* add specs for sendEverything and reset sagas
* delete duplicate files
* make tslint happy
* Merge develop
* Fix develop regressions
* Delegate nonce pulling to wallet being set
* Clarify non standard transaction
* Make address a buffer to avoid leading 0's bug
* Clarify validation helper comment
* Increase debounce time, add console error
* Better validation for non-standard transactions
* Add verification skipping for broadcasting txs
* Fix state and wallet resetting for contract tabs
* Fix some spec files, remove contract.spec
* Remove broadcasting specs from wallet
* Close DeterministicWalletModal on confirm
* Revert "Close DeterministicWalletModal on confirm"
This reverts commit 16c860e854ca29e9de754164d8be5e24f722cbad.
* Reset hardware wallet state on unlocking. Dont render walletdecrypt content when its hidden.
* Fix client side broadcast checking
* Add more state resetters in error scenarios
* Fix gas estimation
* Add validation for value transactions to contract creation
* Add transaction comparaision differentiation depending on wallet type
* Fix token row display balance showing twice
* Properly handle failed transactions
* Handle bad error messages
* fix broken tests
* fix broken test
* Progress commit -- Implement generic subtab types
* Remove react router v3
* Remove unused routes
* Clean up Tabbing code, add onTabChange handler
* Fix tests
* Add nav fix
* revert opinionated sub-tab implementation
* additional reverts
* Add decimal validation
* Make gas price single source of truth, dont save any transaction state other than gas price
* Get rid of old wallet.spec reducer tests
* Add decimal validation when re-validating gasCost
* remove utilities view
* Remove cost breakdown
* Remove local gas estimation warning
* Create getShownTokenBalances selector; use in UnitDropDown and Equivalent Values
* Convert reducers to switch case
* Clean tsc errors
* Fix failing test
* fix tscheck error
* Add number validation to gas field
* Fix misaligned input dropdown
* Revert "Fix misaligned input dropdown"
This reverts commit a40a4c0e8d52471dea01e6727f741a737b798695.
* Set window timeout long enough for node switch to be persisted to state
* Transaction Refactor Style Fixes (#615)
* Fix unit dropdown alignment by rendering it in AmountField, and fixing a missed bootstrap case.
* Fix modal amount and gas text.
* Fix misaligned dropdown
* Update conditions for NavLink is-active class
* setup components, reducers, actions, and added routes
* removed redux, using local state and ethereumjs-wallet
* added validation and state reset
* added visibility options and changed btn colors
* updated isValidPrivKey and updated some components to stateless functional comp
* componentize input and add placeholder message
* removed cn from KeystoreDetails
* adds isValidPrivate to buffer check and min pw length to 0
* remove packagelock to fix merge conflict
* added utilities tab removed keystore tab
* adds fixpkey in validators and uses it across two components
* added checksum removal and btn css fixes
* Fixed en.json formatting - also removed fixedPkey
* Added unit tests for isValidPrivKey
* add runtime checks and rename stripHexPrefix to strippedPrivateKey
* switch back to stripHexPrefix
* Add constant for n-factor
* enforce 9 char minimum