* 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
* create ensureOkResponse and check against RPC responses
* Merge with develop branch
* added single unit test
* main nodes added
* getBalance method
* remove console.log
* minor conflict fix - readd polyfill to integration test
* added two more method tests
* seperate rpcnode from extended classes
* fixes etherscan
* added all tests
* revert files with only formatting changes
* remove console.logs - still need to update snapshot before tests will pass
* updated snapshot due to RpcNode fixes for Infura and Etherscan nodes
* added RpcNodeTest config so we don't rely on constants in code
* undo formatting changes
* Multiple fixes to error handling tokens.
* Fixed TSC errors
* Minor styling edit - change async func to promise
* changed shape of tokenBalances
* change balance type back to stricter TokenValue type
* remove package.json change and include test for error state.
* minor change removing unneeded line of code
* added longer timeout for api
* update snapshot
* Check in.
* Add read only wallet and new types for that. Convert some components to require full wallet.
* Fix readonly property, fix uncaught throw.
* Disable address only on some tabs.
* Use FullWalletOnly render callback to handle signing.
* Work around uncertain wallet type.
* Fix function args.
* Undo bug fix that should be done in another branch.
* Disable button while address is bad.
* Remove log.
* Convert anonymous functions to class functions.
* Change navigator.onLine to actually pinging the network. Refactor notifications to take Infinity instead of 'infinity'
* Stop polling when forced offline.
* Show spinners if unit display balance is null, show offline text if were actually offline.
* Fix issue with typescript and connected union-prop components.
* Only ping the node when navigator.onLine changes.
* Layed out components for custom nodes.
* Outline of custom nodes. Still missing various features and error handling.
* Persist custom nodes to local storage.
* Make custom nodes removable.
* Add latest block functions, call it when switching nodes.
* Initialize correct node, move node utils into utils file.
* Fix names
* Send headers along with rpc requests.
* Remove custom network options for now.
* PR feedback.
* One last log.
* Fix tests.
* Headers in batch too.
* Switch to node when you add it.
* Reduce hackery.
* Clean up linter and tsc.
* Fix latest block hex conversion.
* Unit tests.
* Fix missing property.
* Fix Modal title typing.
* Fetch all token rates at once. Add option for displaying all token values.
* Ensure spinner always shows before equivalent values are ready.
* Fix up test.
Fixes#226Fixes#383
Added a simple check to ensure that swap rates exist so we don't get a NaN error, which would be confusing to users.
Instead, the form is hidden and a spinner is shown until the bityRates are ready for the user.
* adds spinner while fetching
* added error on top of input
* removed classnames prop and added cn
* added simple err mssge
* css fixes and disabled button
* better err mssge generation and fixed swap details
* minor typo
* added redux notification on unreachable error
* minheight for err message and swap update on redux change
* fixed formatting and removed className prop
* Add definition file for bn.js
* Remove types-bn
* 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
* Clean up prop handling in UnitDisplay
* Change instanceof to typeof check, change boolean of displayBalance
* Fix tsc errors
* Fix token row displaying wrong decimals
* Fix deterministic modal token display
* 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
* Progress commit -- ethereumjs-wallet typings
* Add hdkey module + better wallet typing
* Add provider-engine typings
* Add jsdoc descriptions for hdkey constructor methods
* Fix missing return type
* Fix another missing return
* Make provider engine options optional
* Add priv/pubkey members to wallet instance
* Turn into SFC + Use ethereumjs-lib
* Use proper interface naming for V3Wallet
* Switch to ethereumjs-wallet
* Switch to ethereumjs-wallet and refactor using NewTabLink
* Use proper interface naming for V3Wallet
* Use proper interface naming for PublicKeyOnlyWallet
* Strip out wallet classes for ethereumjs-wallet, stuff wallet types in privkey for now
* Seperate wallets into deterministic and non-deterministic, change IWallet and deterministic wallets to adhere to getAddressString
* Fix broken test, remove scryptsy
* Fix broken test, re-add scryptsy to make this PR pass
* Remove uuid from deps and keystore test
* Add ethereumjs-wallet to DLL
* Wrap mnemonic wallet
* Fix definition module for thirdparty wallets
* Fix MewV1 wallet not loading due to wrong library
* Fix tsc error
* Decrease n-factor to 1024, checksum address of keystore
* Fix isKeystorePassRequired
* Fix tsc errors
* Merge package lock
* Update package lock
* regenerate lock file
* Lock typescript to 2.5.2
* Merge develop
* Progress commit -- ethereumjs-wallet typings
* Add hdkey module + better wallet typing
* Add provider-engine typings
* Add jsdoc descriptions for hdkey constructor methods
* Fix missing return type
* Fix another missing return
* Make provider engine options optional
* Add priv/pubkey members to wallet instance
* Turn into SFC + Use ethereumjs-lib
* Use proper interface naming for V3Wallet
* Switch to ethereumjs-wallet
* Switch to ethereumjs-wallet and refactor using NewTabLink
* Use proper interface naming for V3Wallet
* Use proper interface naming for PublicKeyOnlyWallet
* Fix broken test, re-add scryptsy to make this PR pass
* Fix definition module for thirdparty wallets
* Decrease n-factor to 1024, checksum address of keystore
* Update typedef for react-dom from 15 to 16
* Lock react-dom, set typescript to 2.5.2
* add route and nav tab for new module
* add new module to tabs index
* add signMessage to wallet interface
* add signed message verification, normalize pkey sign
* init Sign & Verify Message tab
* reorder imports
* mock out Trezor
* cast to bool instead of length check
* normalize ledger sign message
* fix broken this context
* add commented message signing to trezor wallet
* correct var to start on sign tab
* remove unused state var
* clean up SignMessage classes
* clean up VerifyMessage classes, remove unnecessary log
* correct event variable types
* remove unnecessary exports
* remove empty classname
* use implicit return
* shorten signMessage method
* remove unnecessary disable
* tweak variable name
* make better use of destructuring, remove console log
* use destructured var
* flatten if statement
* add signMessage method to wallet reducer test
* create MVP of broadcast TX component
* add broadcastTx to routes and tab options
* Update BroadcastTx path to /pushTx
* - add sanitizeHex and padLeftEven functions from V3
* - Move decodeTransaction logic out of ConfirmationModal.
- Add from key to getTransactionFields
* Simplify ConfirmationModal:
1. Move business logic out of component (decodeTransaction).
2. Don't pass node props when Component is already smart. Map from state instead.
3. Pass walletAddress instead of the entire wallet object to component as prop.
4. Handle
* - Don't map node state (child component grabs from state)
- implement and call setWalletAddressOnUpdate
* correct tab to path.
* 1. Integrate Confirmation Modal
2. Validate signedTx input and disable Send Transaction button when invalid
* disable tslint error. EthTx expect a Data type object, but a string is passed. However, tx object is created as expected. Need to investigate
* adjust type definition to match allowed string input. Remove tslint disable
* fix tslint errors
* add textarea valid/invalid stlying based on disabled status
* remove unused imports
* cleanup / address PR comments
* Address PR comments
* 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
* Misc. Optimizations to tsconfig + webpack
* Convert Contracts to TS
* Remove nested prop passing from contracts, get rid of contract reducers / sagas / redux state
* Add disclaimer modal to footer
* Remove duplicate code & unnecessary styles
* Add contracts to nav
* Wrap Contracts in App
* Add ether/hex validation override for contract creation calls
* First iteration of working deploy contract
* Delete routing file that shouldnt exist
* Revert "Misc. Optimizations to tsconfig + webpack"
This reverts commit 70cba3a07f4255153a9e277b3c41032a4b661c94.
* Cleanup HOC code
* Fix formatting noise
* remove un-used css style
* Remove deterministic contract address computation
* 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
* Fix tslint error & add media query for modals
* Nest Media Query
* Fix contracts to include new router fixes
* Add transaction capability to contracts
* Get ABI parsing + contract calls almost fully integrated using dynamic contract parser lib
* Refactor contract deploy to have a reusable HOC for contract interact
* Move modal and tx comparasion up file tree
* Include ABI outputs in display
* Cleanup privaite/public members
* Remove broadcasting step from a contract transaction
* Update TX contract components to inter-op with interact and deploy
* Finish contracts-interact functionality
* Add transaction capability to contracts
* Cleanup privaite/public members
* Remove broadcasting step from a contract transaction
* Apply James's CSS fix
* Cleanup uneeded types
* Remove unecessary class
* Add UI side validation and helper utils, addresess PR comments
* Fix spacing + remove unused imports / types
* Fix spacing + remove unused imports / types
* Address PR comments
* Actually address PR comments
* Actually address PR comments