Commit Graph

518 Commits

Author SHA1 Message Date
William O'Beirne c88ff3ba69 Arrow function to prevent error in Sign Message (#502) 2017-11-30 15:58:28 -06:00
Eddie Wang 818ad9fef5 Add Private key to V3 keystore functionality (#336)
* 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
2017-11-30 14:16:30 -06:00
greenkeeper[bot] 92a4551085 Update typescript to the latest version 🚀 (#467)
* chore(package): update typescript to version 2.6.2

* fix RPC type error
2017-11-30 11:36:10 -06:00
Eddie Wang 980366694c RPC Error Handling (#384)
* 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
2017-11-29 23:35:17 -06:00
skubakdj a40b22fc68 Modified File Blacklist for Travis (#448) 2017-11-29 22:26:27 -06:00
skubakdj 6c09e7160a Saga Testing (#415)
* add exports to config saga, refactor

* add config saga tests

* add exports to necessary files

* add remaining saga test & snapshots

* update orders saga spec to use Infinity constant

* update dWallet saga spec snapshot

* refactor config saga slightly

* update config saga spec

* update config saga snapshot

* update rates saga spec

* remove unused vars from config saga spec
2017-11-29 22:07:16 -06:00
William O'Beirne 5d3e461301 Read-Only Address Wallet (#386)
* 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.
2017-11-29 17:14:57 -06:00
William O'Beirne 5b07395ee4 Throw on CryptoCompare API error (#486)
* Throw properly on API error.
2017-11-29 13:45:38 -06:00
Eddie Wang 01f020ff59 Strip hex prefix from raw private key displayed during wallet generation (#388) 2017-11-28 18:56:16 -06:00
greenkeeper[bot] 6da5fac1d1 Update @types/history to the latest version 🚀 (#389)
* chore(package): update @types/history to version 4.6.2

* Rework type to newly added history overrides.
2017-11-28 18:47:29 -06:00
William O'Beirne 2451f817d4 Display less than for low balances (#485)
* Display less than for short balances.

* show 4 decimals places for short value
2017-11-28 18:28:30 -06:00
William O'Beirne 1221a73a46 Better Offline Detection / Handling (#478)
* 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.
2017-11-28 18:17:26 -06:00
James Prado 8d91979e26 Refactor & Update Footer to Match V3 (#455) 2017-11-27 23:43:30 -06:00
James Prado 34ca5a6d1d Show confirm transaction copy during hardware wallet signing (#454)
* Add msg for users to confirm tx on hw

* Update msg
2017-11-27 22:52:52 -06:00
William O'Beirne 37184e4c4e Remove duplicate transaction.ts file (#468) 2017-11-27 22:33:38 -06:00
skubakdj 142ec4adc8 Redux-Form Refactor - Bugfix (#469)
* remove walletPasswordForm prop

* update GenerateWallet test

* update GenerateWallet snapshot
2017-11-27 16:27:49 -06:00
skubakdj 2570abd977 Remove Redux-Form in Generate Wallet (#466)
* remove redux-form from package.json, vendors, reducers

* refactor GenerateWallet components, remove redux-form dependency
2017-11-27 14:31:23 -06:00
Daniel Ternyak a5fd608f17
Re-Order Decrypt Options to Match V3 (#445) 2017-11-21 18:32:20 -06:00
James Prado d28f2cee1f Remove Bity Rates from Local Storage (#435)
* Remove bityRates from localstorage

* Store swap.bityRates in ls as initial value

* Store swap bityrates as empty obj in ls
2017-11-21 13:55:46 -06:00
James Prado 0ef6380777 Wallet-Decrypt/Send Tooltips (#436)
* Update Help component && Fix some css errors
2017-11-21 12:33:20 -06:00
Daniel Ternyak 5e18ec4311
Tag Alpha 0.0.4 (#428) 2017-11-18 14:54:08 -06:00
William O'Beirne c0cd668c64 Custom Nodes (#322)
* 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.
2017-11-18 14:33:53 -06:00
William O'Beirne 1510533ec7 Equivalent values for all tokens (ETH + ERC20s) (#420)
* 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.
2017-11-18 14:15:02 -06:00
skubakdj c31490c8b4 Redux Reducer Tests (#390)
* set return type in resetWallet action creator

* update config reducer test

* update generateWallet reducer test

* update swap reducer test

* update wallet reducer test

* create customTokens reducer test

* create deterministicWallets reducer test

* create ens reducer test

* create notifications reducer test

* add crypto compare success/fail actions

* add rates reducer test

* remove unnecessary comments

* remove more comments

* remove duplicate import

* update wallet reducer test to use BN

* update dWallet reducer test to use BN

* update wallet reducer tests

* update rates reducer tests
2017-11-17 13:12:27 -08:00
Daniel Ternyak 8f69f103e0
Set Bity Rates Polling Cycle to 30 Seconds 2017-11-16 14:25:30 -06:00
skubakdj 2a6d93eaa4 Unset Web3 Node on Wallet Reset (#409)
* unset web3 node on wallet reset

* use wallet TypeKeys enum instead of strings
2017-11-16 12:16:09 -06:00
William O'Beirne 8bc1a348c7 Equivalent Values for Tokens (#366)
* Add select with tokens.

* Reformat state shape to allow multiple currency rates. Show those rates when selected.

* Add loader
2017-11-14 23:51:09 -06:00
James Prado 151b2d762f display network name if balance loaded (#402) 2017-11-14 23:47:03 -06:00
James Prado 05a9770a9b Fix account balance underline & spacing (#401) 2017-11-14 23:12:10 -06:00
James Prado 0d5d0cea9a Wallet Loading States & Spinner Update (#334)
* Add disclaimer modal to footer

* Remove duplicate code & unnecessary styles

* Fix formatting noise

* remove un-used css style

* Fix tslint error & add media query for modals

* Nest Media Query

* Replace '???' with Spinner & update spinner

* Add loading states for wallet balances

* Update wallet test

* Remove excess data passed to wallet balance reducer & Fix wallet balance types

* Merge 'develop' into 'loading-indicator'

* Add 'light' prop to Spinner

* Only show spinners when fetching data

* Remove format diff

* Apply naming conventions

* Remove network name when offline
2017-11-14 21:44:55 -06:00
Eddie Wang a9f78011cb Swap UX Cleanup (#339)
Fixes #226
Fixes #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
2017-11-14 10:37:56 -08:00
HenryNguyen5 8fe664c171 Replace bignumber.js with bn.js (#319)
* 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
2017-11-12 11:45:52 -08:00
skubakdj c9c147db52 Wallet Decrypt - Web3 (MetaMask / Mist) (#303)
* add support for web3, disabled, and hidden in node dropdown header

* add web3 node config actions

* add web3 wallet actions

* add web3 node support

* add web3 wallet & web3 wallet ui selection

* add web3 wallet & config sagas

* add web3 transaction support to SendTransaction tab

* add web3 node check & reset to redux store

* remove comments from Web3.tsx

* update comment

* correct spacing display issue in Web3 component

* convert getTransactionCount response to string

* disable web3 wallets in offline mode

* implement sendCallRequest method on Web3 node

* remove unused vars

* make typescript happy

* convert wallet constants to enum & apply to wallet action files

* update wallet reducer to use TypeKeys enum

* remove unnecessary console log

* remove unnecessary await

* make token balance math more readable

* use NewTabLink in Web3.tsx, allow NewTabLink to accept className

* move web3.ts to non-deterministic folder

* update imports & method names, implement message signing

* add web3 wallet export

* use bufferToHex
2017-11-09 19:30:20 -08:00
HenryNguyen5 a00269507c EthereumJS-Wallet (Part 3) (#316)
* 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
2017-11-08 10:16:43 -08:00
HenryNguyen5 3bea632a9a EthereumJS-Wallet (Part 2) (#310)
* 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
2017-11-07 10:42:53 -08:00
William O'Beirne cb130a9bb6 Warn / Prevent Outdated Browsers from Wallet Generation (#329) 2017-11-06 22:24:54 -08:00
James Prado 2075a416ae Animate transaction notifications & fix styles (#305)
* Add disclaimer modal to footer

* Remove duplicate code & unnecessary styles

* Fix formatting noise

* remove un-used css style

* Fix tslint error & add media query for modals

* Nest Media Query

* Add react-transition-group

* Animate notifications with react-transition-group

* Identify issue with notifications getting overridden

* Update RTG (react-transition-group) to v2 & identify keys as animation issue

* Add unique id on successful transactions for unique keys

* update classNames, remove unused import

* Revert removing lodash

* Remove unnecessary test util

* Remove formatting noise

* Remove all formatting noise

* Update CSS & Change notification unique id

* Add unique id for each notification
2017-11-06 22:20:19 -08:00
William O'Beirne ad084745c7 Various unlock / send style fixes (#331)
* Fix table spacing.

* Fix modal button wrapping

* Fix hanging send transaction button.

* Space
2017-10-30 14:29:27 -07:00
skubakdj 68e5972a03 Sign & Verify Message (#315)
* 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
2017-10-30 12:10:25 -07:00
skubakdj 9d58329450 Forward Angular Routes from V3 (#320) 2017-10-29 01:24:28 -07:00
William O'Beirne 5b81c42d27 Fix Trezor throwing on connect (#330) 2017-10-29 01:16:06 -07:00
HenryNguyen5 3434ab4ef9 Move thirdparty wallet definitions in ethereumjs-wallet out of root into /thirdparty (#325)
* Fix definition module for thirdparty wallets
2017-10-27 13:30:06 -07:00
HenryNguyen5 05725b660b EthereumJS-Wallet Prep (Definition and Package) (#309)
* 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

* Use proper interface naming for V3Wallet

* Use proper interface naming for PublicKeyOnlyWallet
2017-10-25 17:20:05 -07:00
HenryNguyen5 346f777976 Add definition file for bn.js (#317)
* Add definition file for bn.js

* Remove types-bn

* make isBN a static property

* Swap out bignumber for bn in vendor

* Remove types-bn
2017-10-25 12:33:57 -07:00
James Prado 70a2b3ca9a Update Jest & Enzyme, Add snapshot tests (#307)
* Add disclaimer modal to footer

* Remove duplicate code & unnecessary styles

* Fix formatting noise

* remove un-used css style

* Fix tslint error & add media query for modals

* Nest Media Query

* Update Jest & Enzyme, Add snapshot tests

* Fix tslint errors in /spec, Update mock localstorage

* Update types in tests, Fix tslint error

* Specify module versions for browser

* Update sendTransaction snapshot
2017-10-24 19:17:26 -07:00
HenryNguyen5 9095fc0986 Remove addProperties helper (#318) 2017-10-23 19:59:18 -07:00
Daniel Ternyak d72b478c89 Broadcast Tx (#304)
* 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
2017-10-23 13:48:55 -07:00
HenryNguyen5 b94bede473 Add "No Unused Params and Locals" Linting Rule (#297)
Add "No Unused Params and Locals" Linting Rule
2017-10-18 19:29:49 -07:00
James Prado 804f986cb5 Fix errors thrown on /send-transaction by adding a query string to the url (#291)
Fix errors thrown on /send-transaction by adding a query string to the url
2017-10-18 16:49:10 -07:00
HenryNguyen5 efccac79ad Contracts UI (#277)
* 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
2017-10-16 21:01:28 -07:00
HenryNguyen5 2f8e0fe272 Contract Refactor (#175)
* 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

* Fix spacing + remove unused imports /  types

* Actually address PR comments
2017-10-16 16:48:03 -07:00
Daniel Ternyak efed9b4803 Fix Missing Address in Paper Wallet (#292) 2017-10-14 12:24:48 -07:00
Daniel Ternyak dceeec738d Convert Translations to JSON (#287)
* replace js object translations with JSON

* require JSON extensions for translation files
2017-10-14 12:02:40 -07:00
Daniel Ternyak d9ea80fd43 Minimal HMR (#294)
* Move Root Component to root level

* remove Root export from components directory

* support Root HMR
2017-10-13 17:50:34 -07:00
Daniel Ternyak cf6477069a bump version to 0.0.3 2017-10-11 12:47:26 -07:00
Daniel Ternyak b493a0c968 Offline Send (#276)
* offline-send mvp

* cleanup unneeded imports

* - create pollOfflineStatus action, action creator, interface

* expand UnlockHeader when collapse-button is clicked, instead of div

* kick-off pollOfflineStatus upon SendTransaction mount.

* Create sagas for polling offline status

* remove comment

* - create CONFIG_FORCE_OFFLINE action, action creator, interface

* Adjust OfflineToggle terms to "Force Online/Offline", and understand when forced offline and when really offline.

* - Assume offline in SendTransaction when either offline or forcedOffline

* - handle forceOffline action in reducer
- adjust state type / provide default state for forceOffline in config reducer

* adjust test to pass with different key name

* fix incorrect import

* - allow size to be specified in offline toggle

* - Decode and display nonce in confirmation modal

* - set default nonces when forced offline and have online connectivity based on transaction count
- pass nonce to generateCompleteTransaction
- refactor componentDidUpdate

* Allow optional nonce to be passed to generateCompleteTransaction

* - create stripHexPrefix function

* - cleanup sagas

* move getParam into helper util

* update address on component update

* - show spinner while transaction is being signed
- reset state when wallet instance changes (new wallet instantiated via UnlockHeader)

* center-align offline message

* Adjust force offline/online button text

* - validate nonces when offline
- only estimate gas when online
- don't show send tx button when offline

* - break generateCompleteTransactionFromRawTransaction into multiple functions.
- support offline generation in generateCompleteTransaction (and generateCompleteTransactionFromRawTransaction). Balance checking is now only done when not offline to support offline generation.

* Create Help component (to be used as a tooltip)

* Disable hardware wallets when offline.

* Hide Send Entire Balance when balance is falsy

* Show help icon in nonce field.

* - show helper instructions on how to broadcast when user is offline after generating a tx
- hardcoded gas limits when offline
- refactors

* create isPositiveInteger helper function

* fix nonce validation

* really fix nonce validation (specifically the input highlighting)

* remove stray // @flow's

* remove offline tab nav

* remove unused action arg

* address PR comments
2017-10-10 22:04:49 -07:00
James Prado 4858f96520 Logout Prompt Modal on Navigation from Send (#275)
* Add disclaimer modal to footer

* Remove duplicate code & unnecessary styles

* Fix formatting noise

* remove un-used css style

* Fix tslint error & add media query for modals

* Nest Media Query

* Add NavigationPrompt component

* Fix types

* Fix types

* Extend History Types

* break out logic into setupUnblock method
2017-10-10 16:08:55 -07:00
Daniel Ternyak 2e472e5c5a No Javascript / Old Browser Blockers (#280)
* Add messages for no js and bad browser. Share styles with alpha agreement.

* Bad browser checks and shower.

* No flash of bad browser

* Typsecriptify

* Use babel minifier instead of uglify

* Move all checks directly to HTML to avoid issues.

* remove duplicate badBrowser declaration
2017-10-10 15:57:15 -07:00
skubakdj aac0176ca2 Wallet Decrypt - Ledger (#238)
* add static vendor js libraries

* add ledger config

* add ledger components

* add ledger wallet

* bugfix: trezor, set dPath on change

* add rlp type package, update types

* change address to public

* update tslint script to exclude all files in directory

* revert to private address and use getAddress()

* remove unnecessary eslint line out of library files

* remove IWallet import

* Fix ts errors

* Remove version controlled vendor files from DLL
2017-10-05 16:29:14 -07:00
James Prado 81c817600f Add disclaimer modal to footer (#267)
* Add disclaimer modal to footer

* Remove duplicate code & unnecessary styles

* Fix formatting noise

* remove un-used css style

* Fix tslint error & add media query for modals

* Nest Media Query
2017-10-05 12:22:41 -07:00
Daniel Ternyak 74e51345a4 Travis TypeScript Compiler Checking (#263)
* add typescript compliler check to travis

* fix existing typescript compiler errors
2017-10-04 10:51:37 -07:00
Daniel Ternyak a06298afa1 Refresh on Network Change (#261)
* configure gitignore

* create CONFIG_NODE_CHANGE_INTENT action, action creator, and type

* pass changeNodeIntent intstead of changeNode to Header

* create saga for handling node changes that will refresh only when network changes
2017-10-03 21:37:06 -07:00
James Prado aefb155b82 Remove console logs (#262) 2017-10-03 21:30:10 -07:00
James Prado 6f7e3c27e2 Fix regressions introduced in #241 (#247)
* Fix location query

* Remove unnecessary polyfill

* Fix tslint error & update history types

* Parse search str using Node Query String

* Revert "Parse search str using Node Query String"

This reverts commit 0a482dabf29c3fbcbfd3112b974d6b98c14dca2e.

* fix formatting

* Add query-string

* Rename App container to TabSection & pass it location prop

* Add react-router withRouter HOC to NavigationLink

* various adjustments/finalizations

* Add location to props interface
2017-10-03 21:13:49 -07:00
Daniel Ternyak 81025e7d6e Swap UX Cleanup (#260)
* center align payment address in payment info

* use updated DropDown component instead of SimpleSelect
2017-10-03 20:21:10 -07:00
William O'Beirne 1a09c6a7a6 Refactor Dropdowns, Rainbow Node Selector (#244)
* Convert all dropdowns to use a single dropdown shell component. Restyle header ones to look like v3.

* Right align some.

* Color dropdown component, which node selector uses.

* Prettier fixes.
2017-10-02 15:36:59 -07:00
James Prado ad83b5a181 Update React-Router(-DOM) to 4.x and Simplify Routing (#241) 2017-09-28 19:09:01 -07:00
Daniel Ternyak 5b2f7efac5 React 16.0.0 (#240)
- bump react version to 16.0.0
- remove unneeded Perf plugin
2017-09-27 11:47:20 -07:00
Daniel Ternyak cc391f551a Refactor Languages / Fix RPC Node Regression (#239)
* simplify language dropdown; move language mapping to separate file (json)
* re-add rpc options (removed in bad merge)
2017-09-26 16:03:38 -07:00
Daniel Ternyak af84a589c5 Redux promise middleware (v2) (#233)
* add redux-promise-middleware to package.json and update package-lock.json

* intergrate redux-promise-middleware and simplify rates by replacing saga with promise

* fix unrelated breaking test

* -improve user messaging when network request fails. \n Clean up rates actions and reducers

* Address tslint errors
2017-09-25 20:41:11 -07:00
Daniel Ternyak 3660260efb Fix Typescript Refactor (#229)
* Remove console logs.

* Fix undefined error by binding method.

* Show 0's in input field.

* Remove various unused imports.
2017-09-24 20:29:49 -07:00
Daniel Ternyak 3abe3d0b46 Persist gas price config to local storage (#213) 2017-09-24 19:53:01 -07:00
HenryNguyen5 5d4b36d453 Migrate to Typescript (#224)
* Refactor babel/types

* Refactor entry point

* Refactor actions

* Refactor api

* Full project refactor -- Broad type fixing sweep

* - completely fix merge conflicts
- handle various type errors

* Add tslint to package.json

* Dependency cleanup

* Fix module resolution

* Work on type definitions for untyped libs

* progress commit

* Add more definition typing

* various type additions

* Add unit types

* Fix sagaiterator  + unit types

* various types added

* additional type additions

* Fix typing on Sagas

* remove flowfixmes; swap translate for translateRaw

* Get rid of contracts - awaiting Henry's contract PR

* Remove contracts from routing

* Fix most of actions/reducers

* refactor actions directory structure

* fix reducer action type imports

* Fix most of type errors pre-actions refactor

* fix action creator imports in containers

* Refactor more

* Refactor index of actions

* fix action imports; use module level index export

* package-lock.json updated

* Use action types in props

* Type up action creators

* Fix most of connect errors

* Typefixing progress

* More types

* Fix run-time errors

* Caching improvements for webpack

* Remove path resolve from webpack

* Update non-breaking packages to latest version

* Fix token typing

* Remove unused color code

* Fix wallet decrypt dispatch

* Set redux-form related props/functions to ANY, since we're stripping it out later on

* Revert BigNumber.js package changes

* Extend window to custom object for Perf

* Format Navigation

* Typecase keystore errors as any (since we shouldnt touch this)

* Push wallet context fix

* - find/replace value->payload in swap
- properly type swap state properties
- extract inline reducer into reducer function

* - type local storage retrieved items as generic

* - bind all RPCClient methods with fat arrow

* - reformat

* Change to enums for constants

* Change state into any

* Fix swap errors

* ensure that seconds are passed into state as integers

* Fix rest of errors

* use parseInt explicitly instead of type coercion

* Fix derivation-checker, remove flow command, add tslint command, add tslint-react, tell travis to use tslint instead of flow.

* Whoops, remove those tests.

* Remove unsupported (yet) config option.

* Fix precommit to target ts and tsx files.

* Fix some errors, ignore some silly rules.

* Revert jest to v19, use ts-jest and make all tests typescript. Fixes all but one.

* Get rid of saga tests

* Fix tslint errors
2017-09-24 19:06:28 -07:00
William O'Beirne e80d0a68a9 All v3 Nodes & Networks (#202)
* Add all v3s nodes, create node libs for etherscan and infura.

* Add all network configs for alternatives.

* Color and animate nav border on network selection.

* Address PR comments.

* Persist network selection to local storage.

* Modifiy TransactionSucceeded to link to network-specific explorer.

* - Reload on Node Change to reset state. Should be refactored in the future so that we are not forcing clients to reload.
2017-09-19 17:47:08 -07:00
henrynguyen5 ac5d713ae1 Revert "Hot module reload fixes (#181)"
This reverts commit b59298ec0e.
2017-09-18 02:31:52 -04:00
Daniel Ternyak 141cb41af2 bump release version (0.0.2) (#203) 2017-09-17 21:41:35 -07:00
Daniel Ternyak c0cd228336 Add Pre-footer (#199)
* create PreFooter components and styles

* add PreFooter to main Footer Component and adjust Footer styles
2017-09-15 14:38:11 -07:00
skubakdj c88e96d603 Wallet Decrypt - Mnemonic (#180)
* add 'bip39' package

* add mnemonic decrypt, wallet wrapper

* add mnemonic path config

* add mnemonic support to deterministic components

* add mnemonic support

* accomodate for ledger ETH path

* remove comments

* update comments regarding path length

* rename modal open handler

* make several props optional

* add basic tests for mnemonic decrypt

* make flow happy, add user error notifications

* convert dpaths to js file, update references

* add ledger path to test

* Trezor DPath Fix (#196)

* Match v3 more closely.

* Require wallet index on deterministic wallets, update trezor to send index.

* remove redundent stripAndLower function and rename existing stripHex to stripHexPrefixAndLower
2017-09-15 12:29:38 -07:00
HenryNguyen5 7a460960d7 Build speed v2 (#195)
* Improve build speed by using cheap source maps and dropping eslint loader.

* use old 'source-map' on dev when SLOW_BUILD_SPEED env variable exists

* Increase build speed further via caching and DLL

* Cleanup code

* Add step to readme

* Move DLL loader to dev instead of base

* Add post install script

* Revert readme change

* ignore dll dir
2017-09-14 15:49:15 -07:00
Daniel Ternyak 8b286b5e8c Remove isBroadcasting from top-level wallet state (#190)
isBroadcasting is kept at the BroadcastTransactionStatus level, with a different state for each transaction.
2017-09-14 15:22:07 -07:00
Daniel Ternyak f3b85b2aae Alerting and UX Improvements. (#185)
* Remove unused imports.

* Create and use .toPrecision forwarding method for `Unit`

* Error handling when unlocking trezor devices.

* Use translateRaw to fulfill string req;

*  - Refactor rates actions and action creators to use standard network request state pattern (REQUESTED / SUCCE
 - Only Request Rates once AccountInfo Component has mounted, instead of upon saga instantiation (uneeded overhead). This allows also us to issue subsequent fiat rates requests to update the "equivalent values" should the users session persist.
 - Show '???' as account balance when balance is null
 - Wallet initial state with balance as null instead of 0. We don't actually know what the balance is, and we shouldn't have 0 as a default as this may confuse users and doesn't accurately reflect their balance.

* - Display 'No rates were loaded.' in EquivalentValues when rates are null, instead of nothing.
- Remove unneeded imports.

* Remove unneeded imports and reformat.

* Fix error messaging (show error message instead of error Object)

* remove console.log

* inform flow how silly it is being

* fix wallet test to reflect balance being null by default

* figure out way to have flow understand that rates will not be undefined

* open external links in new tab

* handle case where balance is null in equivalanet values
2017-09-12 15:15:23 -07:00
Daniel Ternyak f34811546a Fix Unlock Bugs (#183)
* Remove unused imports.

* Create and use .toPrecision forwarding method for `Unit`

* Error handling when unlocking trezor devices.

* Use translateRaw to fulfill string req;
2017-09-11 20:29:07 -05:00
HenryNguyen5 481e6e89b6 Refactor Wallet Base Class to Wallet Interface and Implement (#184) 2017-09-11 19:26:16 -05:00
William O'Beirne 8854d42fd9 Sidebar refactor / style update (#173)
* Convert bootstrap to sass instead of checked in and less

* Darken body, adjust header.

* First pass at tab styles, each tab will need a lot of individual love tho.

* Update footer to main site content, improve responsiveness.

* Missing key added.

* Fix dropdowns.

* Convert GenerateWallet HTML over, still needs styling.

* Send form.

* Current rates styled.

* CurrencySwap form styles.

* SwapInfoHeader styled.

* Finish up swap restyling, minor usability improvements for mobile.

* Fix up notifications / alert customizations

* Import v3 variables.

* Fix notification spacing.

* Align input height base with buttons.

* Revert height base, add additional bootstrap overrides.

* Grid overrides.

* Move overrides to their own folder. Adjust naming.

* Fix inconsistencies.

* Style generate wallet pt 1.

* Style generate wallet pt 2

* Style generate wallet pt 3

* Fix swap

* Added some missing overries, fixed the fallout.

* Remove header text, indicate alpha version.

* Fix radio / checkbox weights.

* Bind => arrow

* Convert simpledropdown to proper form select, instead of weirdly implemented nonfuncitoning dropdown.

* Fix token balances buttons, footr icons.

* Break out files, style up account info.

* Style up token balances.

* Equivalent values styling.

* Sidebar promos.

* Fix up delete button and add custom form.

* Even spacing.

* Unlog

* Convert Big types to Ether types

* Fix test to expect Ether instead of Big
2017-09-08 14:26:51 -05:00
Daniel Ternyak 38dd22953a Ether Unit Types and Send UX Improvements (#174)
* remove 'transate' property and ng-scopes

* use bigs (surprised flow did not catch this)

* fix dropdown not expanding -- switch to simpledropdown

* Don't use generics for no real reason

*    Create Ether, Wei, and GWei types, and annotate.

    Also contains refactors and UX improvements

    1. clear previously generated rawTX/signedTx when changes to transaction inputs are made.

    2. reset generated rawTx/signedTx while new generateTx is loading

* add toString helper method and use in place of .amount.toString()

* support optional base in toString helper method and use

* incorporate PR suggestions (destructure, resolve via callback)
2017-09-08 14:01:31 -05:00
William O'Beirne b59298ec0e Hot module reload fixes (#181)
* accept hot module changes, move routes into root component

* Fix "You cannot change <Router routes>; it will be ignored" error message by implementing solution in Github: https://github.com/ReactTraining/react-router/issues/2704#issuecomment-211352123

Router is only instantiated once in a production setting (e.g. not webpack-dev-server), so there is minimal overhead on producing a random key value for `Router`.
2017-09-08 11:57:50 -05:00
Daniel Ternyak d654b60949 Fix Send Regressions (#170) 2017-09-07 15:14:52 -05:00
Daniel Ternyak e3d3b2c8e8 Refactor Send (#164)
* refactor SendTransaction component and transaction helper lib

* move transaction generation out of component; refactor tx types and simply tx generation

* remove commented out try/catch

* address todo; rename function/types

* fix imports and address comments
2017-09-05 16:28:19 -05:00
Daniel Ternyak 0989424d73 Refactor Bity (#166)
* Refactor bity config

* fix bug in refactor that would cause destinationKind amount to not load

* use function instead of string replace for building blockexplorers per PR comment
2017-09-05 15:07:28 -05:00
William O'Beirne de7d4fbaa2 v3 Style Import (#151)
* Convert bootstrap to sass instead of checked in and less

* Darken body, adjust header.

* First pass at tab styles, each tab will need a lot of individual love tho.

* Update footer to main site content, improve responsiveness.

* Missing key added.

* Fix dropdowns.

* Convert GenerateWallet HTML over, still needs styling.

* Send form.

* Current rates styled.

* CurrencySwap form styles.

* SwapInfoHeader styled.

* Finish up swap restyling, minor usability improvements for mobile.

* Fix up notifications / alert customizations

* Import v3 variables.

* Fix notification spacing.

* Align input height base with buttons.

* Revert height base, add additional bootstrap overrides.

* Grid overrides.

* Move overrides to their own folder. Adjust naming.

* Fix inconsistencies.

* Style generate wallet pt 1.

* Style generate wallet pt 2

* Style generate wallet pt 3

* Fix swap

* Added some missing overries, fixed the fallout.

* Remove header text, indicate alpha version.

* Fix radio / checkbox weights.

* Bind => arrow

* Convert simpledropdown to proper form select, instead of weirdly implemented nonfuncitoning dropdown.

* Fix token balances buttons, footr icons.
2017-09-05 14:52:01 -05:00
HenryNguyen5 e07eedb3ad Refactor BaseNode to be an interface INode (#167) 2017-09-05 11:32:14 -05:00
Bryan Fillmer b666d0e143 Address flow issues in sagas (#162) 2017-09-04 11:30:31 -05:00
HenryNguyen5 d05525e682 ENS - Tab + General Infomation Panel (#147) 2017-09-03 19:04:27 -05:00
Daniel Ternyak c2c9f39c6b Fix "no bignumber" Error (#155)
* provide link to mailchimp based subscription

* only estimate gas when the amount value is a number
2017-08-31 17:01:34 -07:00
Daniel Ternyak f6b5e8f426 Provide link to mailchimp based subscription (#154) 2017-08-31 14:49:27 -07:00
Bryan Fillmer 2616129409 Create a basic saga pattern to handle potential network errors. (#144)
* First pass at handling API failure.

* Bity saga logic upgrade.

* Reusable response.ok logic. Small optimization to array join.

* Flow fixes.

* Streamlined some error handling, moved types.
2017-08-31 09:30:46 -07:00
Daniel Ternyak efee709d0f Swap Part 5 (#150)
* refactor notificationMessage

* MVP Bitcoin QR

* refactor currentrates and add loading state

* fix text space

* translate hardcoded text

* only show QR code when attempting to swap Bitcoin as the origin kind

* remove commented import

* add flow typings

* Don't show a notification of a stringified element
2017-08-31 08:56:49 -07:00
Daniel Ternyak a4ec6f6139 Finalize send (broadcast signedTx, loading indicators, error handling, form validation) (#141)
* hide buttons during send loading state

* fix transaction succeeded not clickable; provide error in action

* move BroadcastStatusTransaction into 'libs/transaction'

* use more succint Array.prototype.find

* rename resetState -> resetTransaction

* refactor and component componentDidUpdate logic

* rename disabled -> generateDisabled; comment componentDidUpdate

* add size to Spinner, use in ConfirmationModal; disable instead of hide buttons in Modal

* fix flow not understanding that an object wouldn't be null in this case anyway. silly flow

* various refactors; send entire balance working
2017-08-30 21:00:31 -07:00
William O'Beirne ae0ada9c06 Add an alpha agreement screen cover. Bump up announcement size by a bit. (#139) 2017-08-28 14:09:42 -05:00
William O'Beirne f5b6a49463 Translation updates (#120)
* Updated all translations, moved into their own folders.

* Switch translations to use Markdown component.

* Remove markup tests, since were using a module now.

* Fix flow errors, render react elements instead of dangerouslysetinnerhtml.

* Make translate a connected component, so it updates with Redux.

* Fix flow errors

* First pass at returning raw when needed for placeholder.

* Added aria test.

* Fixed flow errors and linter warnings.

* Move settimeout to saga.

* Change reload to 250 ms from 1500 ms
2017-08-28 13:05:38 -05:00
William O'Beirne 1d235cf67a Trezor Unlock + Deterministic Wallet Groundwork (#137)
* Basic reducer / action / saga setup, rendering wallets.

* Better address rows, with values.

* Styling + back and next buttons.

* Formatting, dpath changing.

* Derived -> Deterministic

* Set wallet on confirm.

* Flesh out Trezor wallet, add transaction signing.

* Custom dpath, better handling of canceled switches and over-rendering / prop calling.

* Token empty string value.

* Move DPaths to config file.

* Clarifying comments.
2017-08-28 12:43:57 -05:00
William O'Beirne cfba08ccf4 Visual Alpha Prep (#135)
* Added alpha banner to top of site.

* Grey out non functioning nav items. Redirect help to groovehq.

* Disable view wallet while it's just a stub.

* Disable non-implemented wallets.
2017-08-25 09:37:36 +02:00
Daniel Ternyak 0474c52004 Derivation Checker (#134) 2017-08-24 18:41:47 +02:00
Daniel Ternyak a61dc268dc Add reducer tests (#133)
* create config reducer tests

* create generateWallet reducer tests

* create wallet reducer tests

* create swap reducer tests; use empty string as destination amount when origin amount is an empty string instead of 0

* add additional swap reducer tests

* refactor swap; additional tests

* create separate dir for swap reducer
2017-08-24 10:53:59 +02:00
skubakdj 982d70a56c Use async in download wallet (#127)
* convert keystore gen to async

* add & use type UtcKeystore

* add types, refactor

* remove unneeded prop checking
2017-08-24 10:34:08 +02:00
William O'Beirne bf4171dfbd Transaction confirmation modal (#108)
* Add a little arrow icon.

* Replaced toEther function with toUnit to reduce the number of conversion functions wed need. Add tests for conversion functions.

* First pass at a styled confirm transaction modal.

* More data about data

* Hook up generated transaction with modal

* Fix modal position

* Add from address. Restyle a bit.

* Only show textareas and button if transaction has been generated.

* Remove need for param.

* Copy.

* Use non-relative path.

* Initial crack at transaction token support.

* Fix flow type

* Unit tests for contracts and erc20

* Convert contract class to ethereumjs-abi, caught a bug

* Add decodeArgs for contracts, decodeTransfer for erc20

* Show token value in modal

* Show value from transaction data in confirmation.

* Show address of receiver, not token contract

* Flow type

* Only accept bigs

* Unlog

* Use ethereumjs-abis method ID function

* Get transaction stuff out of state. Leave todo notes.

* Intuit token from transaction to address.

* Move generate transaction out of node and into libs/transaction.

* timeout -> interval

* Promise.reject -> throw

* Get default currency from network.

* Add more unit tests for decoding. Adopt the $ prefix for decoding calls.

* Use signed transaction in confirmation modal.
2017-08-23 08:57:18 +02:00
Will Piers 318a42ccf3 Throttling changes to gas price (#81) (#123) 2017-08-20 22:51:01 +02:00
skubakdj f42837de68 Keystore & Private Key Wallet Decrypts (#116)
* wire up keystore decrypt & build UI

* add support for encrypted private keys

* add check for key length

* rename keystore wallet file

* rename encrypted priv key wallet file

* add support for presale, v1, & v2 JSON keystores

* clean up TODO messages, add class files

* add v3 references

* add flow type

* fix event bug

* update privkey validators to accept whole privkey

* refactor pkey/pass validation to function

* move pass req detection to function, remove unnecessary state

* add tests for decrypt & keystore libs
2017-08-20 22:28:47 +02:00
William O'Beirne 9b2156ed4f WIP: Generating transaction on Send tab (Pt 1) (#100)
* Generating transaction ,placing into read only textareas.

* Fix async wallet getAddress cases.

* Chain id from network

* remove leftover console log

* Check balance before generating transaction.

* Translate error msgs, check for invalid address.

* Errors for gas limit and gas price issues.
2017-08-11 22:54:10 +01:00
Daniel Ternyak c594619acd fix additional flow errors (#113) 2017-08-09 15:26:35 +02:00
skubakdj 30f2d854d6 KeystoreWallet Class & Decrypt (#111)
* add keystore decrypt functionality

* add flow types

* add KeystoreWallet class

* only support keystore as string
2017-08-09 07:04:32 -05:00
skubakdj 187d2e16ad Fix flow errors (#110)
* simplify getAddress method

* refactor to handle async wallet getAddress

* fix bug on BaseWallet

* remove unnecessary catch
2017-08-09 07:01:34 -05:00
William O'Beirne 7541d6f486 Estimate gas (WIP) (#102)
* relayout rpc code, start contract helper

* Dont ask for estimate if theres no value

* Split out conversion of ether to wei hex into lib function.

* big.js -> bignumber.js
2017-08-07 22:45:08 -05:00
skubakdj 3ef2b51a68 Add Promises & Signing to Wallet Classes (#105)
* add validation for raw tx

* add node module, add signing lib

* add tx & message signing, promise everything

* remove unnecessary returns

* move isValidRawTx to for loop

* add & use new type RawTx

* implement cleaner promises, reject instead of throw
2017-08-07 22:25:23 -05:00
Daniel Ternyak a66337ac0a Swap Part 4 (#101)
### Re-implements:
* min/max validators on initial currency swap selection
* polling of order status
* timer that persists across refreshes via localStorage (computed based on `createdTime` and `validFor` amount)
* swap persists across refreshes once order is created.
* various type refactors

### New additions:
* *SimpleButton* (can be PRd separately on request)
* clear loading state after order create (via SimpleButton and font-awesome)
* buffers for non-BTC swaps (bity does not actually accept 0.01 BTC worth of ETH as they claim they do in their JSON response, so a magic number of 10% is added to the minimum).
2017-07-31 18:14:30 -05:00
William O'Beirne e3505fd958 Contracts Tab Scaffolding (#70)
* Empty component, routes setup.

* Shared components for all Contracts inputs. Dont do anything yet.

* Check in reducer work so far. Still WIP.

* Header styling

* Check in input work so far, splitting to new branch.

* Strip down contracts inputs. Split out into form and explorer

* Contract selector

* Constantized config actions to use in contract saga.

* Interact explorer UI, no functionality

* Convert to constants, hook up errors

* Deploy and style cleanup.

* Remove unnecessary class.

* Fix flow errors with css modules

* Attempt at fixing all newly introduced flow errors in the contracts branch.

* Removed unused validator.

* Remove action constants, fix flow specificity in reducers

* Fix unit tests

* Move network contracts out of redux / sagas, and read directly from state with a selector in mapStateToProps.

* Fix initialState -> INITIAL_STATE rename

* foreach push -> concat
2017-07-27 19:31:59 -05:00
William O'Beirne 96405157f0 Fix number formatter (#99)
* Fix initialState -> INITIAL_STATE rename

* Fix number formatter for removing non-trailing zeroes, not handling zero decimals. Add tests.
2017-07-27 18:21:50 -05:00
William O'Beirne c32edf4a0b Fix initialState -> INITIAL_STATE rename (#97) 2017-07-27 18:21:27 -05:00
William O'Beirne 1aad9d1c21 Standardize Redux Actions / Reducers (#95)
* Convert Swap to consistent style

* Generate wallet reducer cleanup.

* Confirm empty action in swap reducer

* Union types. Fix gen wallet collision

* Fix not using all actions in reducer. Added reducer state for is fetching from bity. Added todo to make that a loader.

* Readme instructions.

* Remove common action constants.

* Bring all actions and reducers inline with readme instructions.

* Readme fixes

* address comments
2017-07-27 12:05:09 -05:00
Daniel Ternyak 0eae13f938 Swap Cleanup (#68)
* add types for swap action creators (and separate out to separate module)
* DRY up swapInformation and onGoingSwapInformation -> SwapInfoHeader.
* stop bity rate loading when Swap will unmount
* split out SimpleDropdown to separate module
* various additional refactors
2017-07-22 16:24:03 -05:00
William O'Beirne 7d5e590c42 Manifest and Favicons (#69)
* Move favicon stuff to static folder. Expand manifest.json. Link it all up in HTML.

* Undo index changes

* Remove unnecessary readme
2017-07-22 15:55:59 -05:00
skubakdj 7fd7ba66c9 Gas price dropdown (#61)
* implement gas price dropdown
2017-07-20 12:06:10 -05:00
Daniel Ternyak 0b72b8ff6a update GenerateWallet hasDownloadedWalletFile prop type from invalid 'boolean' to valid 'bool' type (#58) 2017-07-17 20:47:01 -05:00
Daniel Ternyak 37008e9fe9 Complete Generate/Create Wallet Flow (#38)
* GenerateWallet: Download real UTC file.

* Paper wallet (#45)

* Working paper wallet (#52)

* Reset Generate Wallet state when component will unmount
2017-07-16 16:02:13 -05:00
crptm c8fa6e3022 support tokens on send page (#47) 2017-07-15 18:05:57 -05:00
William O'Beirne ccd946a08d Reusable modal component (#50)
* README proposal.

* First pass at implementation of proposal on Footer and Header. Footer could use some work.

* Cleanup, and readme additions

* First pass at basic modal

* Modal open / close

* Modal close on esc key.

* Freeze body scrolling when modal is open.

* Use the index bestowed upon me.

* No close on shade click

* Only render children if modal is open. Also, dont show cursor on shade

* Use flexbox for simpler content height / scroll behavior.

* type modal, fix body scroll when mounted opened

* Modal width is sized by content, not hard coded sizes.

* Remove size from flow prop types.
2017-07-15 01:26:43 -05:00
William O'Beirne 8ed09dfa06 First attempt at CSS modules (#48)
* README proposal.

* First pass at implementation of proposal on Footer and Header. Footer could use some work.

* Cleanup, and readme additions
2017-07-14 23:16:36 -05:00
William O'Beirne c9948626d1 Bundle and compress images with Webpack (#49)
* First pass at image loader

* Clean up config, convert some images as example.
2017-07-14 12:04:08 -05:00
crptm 780f3ba94f balance fetching (#41)
* balance fetching

* fix tests

* bump deps

* validate custom token form

* equiv values

* fix rates saga naming

* address review comments
2017-07-13 16:02:39 -05:00
Daniel Ternyak cdcbd7a56b Sagas: Adjust bity saga to allow for cancelled polling, and stop polling when part 2 of swap ends. 2017-07-08 22:51:14 -05:00
crptm ecb11133dd move bity getRates to saga (#35)
* move bity getRates to saga

* typo

* bity polling
2017-07-07 21:00:09 -05:00
Daniel Ternyak 46ec6fe235 Send: cleanup (#34)
* Send: cleanup

* Send: add. localization
2017-07-05 19:36:11 -05:00
Daniel Ternyak 30c3f6362a Merge pull request #33 from MyEtherWallet/persist_language_select
De-duplicate language select state
2017-07-05 18:37:56 -05:00
Daniel Ternyak caadae2704 De-duplicate language select state 2017-07-05 18:28:54 -05:00
Daniel Ternyak 3a1eaf9af1 Merge pull request #32 from MyEtherWallet/persist_language_select
Redux: Persist language selection to local storage via middleware and…
2017-07-05 17:57:40 -05:00
Daniel Ternyak e873ffc994 Logging: clarify saveState log 2017-07-05 17:56:46 -05:00
Daniel Ternyak dc3c1985b5 Logging: add warning log for exception during local storage parsing 2017-07-05 17:35:53 -05:00
Daniel Ternyak 90d7b52987 Fix flow 2017-07-05 17:16:32 -05:00
Daniel Ternyak cbf2fd39d0 Redux: Persist language selection to local storage via middleware and create pattern for future persistence. 2017-07-05 17:09:58 -05:00
crptm 9a65a49d0b invalid pkey message 2017-07-04 16:19:04 +04:00
Daniel Ternyak 12fa008755 reformat everything 2017-07-03 22:28:56 -05:00
Daniel Ternyak 06ae70988a merge develop into 'swap_part_3' 2017-07-03 22:21:19 -05:00
crptm bead2b30ad fix merge errors 2017-07-04 06:22:16 +04:00
crptm 40f2c4466a merge develop 2017-07-04 06:18:16 +04:00
crptm 85759d73b4 type dropdown, config actions 2017-07-04 05:25:01 +04:00
Daniel Ternyak 20b1d85bb8 undo donation address hardcode temp 2017-07-03 19:39:36 -05:00
Daniel Ternyak 7846b2125a merge develop info 'donation_addresses' 2017-07-03 19:24:22 -05:00
Daniel Ternyak 164e6a07bb fix additional hardcoded address issues 2017-07-03 19:20:47 -05:00
crptm 13bb96e966 merge develop 2017-07-04 04:17:57 +04:00
Daniel Ternyak 29be2821a3 refactor donation addresses map; fix hardcoded instance of address in send 2017-07-03 19:16:20 -05:00
Daniel Ternyak 8f77aedc70 swapProgress: create computed class for active step; cleanup 2017-07-03 19:09:33 -05:00
Daniel Ternyak 513b4c67b9 Bity: refactor and remove unnecessary class 2017-07-03 19:08:35 -05:00
crptm 65234a26c0 fix flow sagas errors 2017-07-04 03:59:27 +04:00
Daniel Ternyak 62150fb63b swapProgress: add translations and remove ng-scopes 2017-07-03 16:53:02 -05:00
Daniel Ternyak 73d54f562d merge develop info 'swap_part_3' 2017-07-03 13:23:44 -05:00
Daniel Ternyak 4c3f3b8cd1 Merge branch 'develop' into feat/send-page 2017-07-03 12:50:36 -05:00
Daniel Ternyak 727a6d3975 Keep redux state across hot module reloads 2017-07-02 12:55:58 -05:00
Daniel Ternyak 7cf3d26bbe Merge feat/send-page 2017-07-02 00:49:06 -05:00
Daniel Ternyak b623a3efe9 Swap Part 3 WIP 2017-07-02 00:45:22 -05:00
crptm 63e7eb89e4 unlock wip 2017-06-30 03:03:11 +04:00
crptm d6b7cca10a merge send-tx 2017-06-27 03:36:21 +04:00
crptm 0ad93101e7 validators merge 2017-06-27 03:27:26 +04:00
crptm 240007fe43 merge develop 2017-06-27 03:13:21 +04:00
crptm 9f2a209da5 typing fixes 2017-06-27 03:08:52 +04:00
crptm 96c8c88ab6 remove obsolete comment 2017-06-27 02:46:15 +04:00
crptm 1fb4a004ac send wip 2017-06-27 02:27:55 +04:00
Daniel Ternyak afe2adbb5a add translation support 2017-06-25 00:57:43 -05:00
Daniel Ternyak dab75a48b0 address comments 2017-06-24 15:39:03 -05:00
Daniel Ternyak 738606bdf0 Merge branch 'swap_part_2_more' into swap_part_2 2017-06-24 15:05:26 -05:00
Daniel Ternyak d5875614de create simplified toFixedIfLarger 2017-06-24 14:53:53 -05:00
Daniel Ternyak 08f44e1d4a Merge branch 'swap_part_2' into swap_part_2_more 2017-06-24 13:19:14 -05:00
Daniel Ternyak 119dda77e1 Create toFixedIfLarger function, unit test, and use in app. 2017-06-24 13:17:09 -05:00
Daniel Ternyak 28415cd0e8 Consume new receivingAddressSwap action creator and receivingAddress state, validate receiving address input using Validator class. 2017-06-24 01:09:44 -05:00
Daniel Ternyak c77f8430c5 Create Validator class and add deps to package.json 2017-06-24 01:08:57 -05:00
Daniel Ternyak bc9765d99b Redux: Add SWAP_RECEIVING_ADDRESS action creators/reducers. 2017-06-24 01:08:33 -05:00
Daniel Ternyak cb36331c2d Refactor: remove stray ng-binding 2017-06-23 20:34:13 -05:00
Daniel Ternyak 07bde87658 Refactor: Use global donation mapping instead of hardcoding donation address in footer 2017-06-23 20:27:17 -05:00
Daniel Ternyak 943a0532d7 Swap: Create components/adjust containers as neccesasary for part 2 of swap 2017-06-23 20:26:54 -05:00
Daniel Ternyak fc94460af0 Prototype Extesion: Create toFixedIfLarger and add test (that doesn't work yet) 2017-06-23 20:26:08 -05:00
Daniel Ternyak 2eab0082a6 Redux: Add partOneComplete actions/action creators/reducers. 2017-06-23 20:25:12 -05:00
crptm 51f2c8596e address review comments 2017-06-23 01:16:21 +04:00
crptm d0becf7746 notifications 2017-06-22 03:31:59 +04:00
Daniel Ternyak 1a4fac1dec accidently swapped verb and namespace order for action creators originally; fixed 2017-06-20 01:28:22 -05:00
Daniel Ternyak ba6d46e91d reformat 2017-06-20 01:14:35 -05:00
Daniel Ternyak ff81133b5e reformat 2017-06-20 01:14:23 -05:00
Daniel Ternyak 3644cb5515 format 2017-06-20 01:13:21 -05:00
Daniel Ternyak 3cee501da1 format 2017-06-20 01:08:26 -05:00
Daniel Ternyak 9a612eb6de use standard action creator naming convention 2017-06-20 00:59:54 -05:00
Daniel Ternyak c46ed8f6ed clean up Generate Wallet actions to not use boilerplate 2017-06-19 22:15:38 -05:00
Daniel Kaspo 3f6bf916cd Added sanity checks so decrypt doesn't blow up on null. 2017-06-19 21:02:29 -04:00
Daniel Kaspo 91c854f2e1 Replaced component with key in wallet-decrypt state. 2017-06-19 21:02:28 -04:00
Daniel Kaspo 6d48e5b36b Changing how we handle event functions. 2017-06-19 21:02:28 -04:00
Daniel Kaspo 37e78df682 Logging public and private key temporarily for Travis 2017-06-19 21:02:28 -04:00
Daniel Kaspo ce3749000f Keystore decryption initial implementation. 2017-06-19 21:02:28 -04:00
Daniel Kaspo c448e7331f Properly bound onChange handler for wallet decrypt. 2017-06-19 21:01:45 -04:00
Daniel Kaspo 670e283dbf Returned null instead of an empty div. 2017-06-19 21:01:45 -04:00
Daniel Kaspo 87121c8a6d Added logic for changing of decryption selections. 2017-06-19 21:01:45 -04:00
Daniel Kaspo 6ac6237f72 Added folders for future decryption components. 2017-06-19 21:01:45 -04:00
Daniel Kaspo a77c973bb4 Made method to build markup for decryption choices. 2017-06-19 21:01:45 -04:00
Daniel Kaspo 1ba467b355 Removed un-needed constructors 2017-06-19 21:01:45 -04:00
Daniel Kaspo 70d71b158b Added initial Keystore Decrypt component
Markup isn't quite right just yet but that'll be added in the next
commit.
2017-06-19 21:01:45 -04:00
Daniel Kaspo 413b61c335 Changed route name back to ViewWallet 2017-06-19 21:01:45 -04:00
Daniel Kaspo f8e9906b37 Added and marked up wallet decrypt component.
Still needs lots of work at this point, but all the visuals are done,
it's been renamed to what Taylor said it should be called, and all the
Aria labels have been properly updated.
2017-06-19 21:01:44 -04:00
Daniel Ternyak b33d2ef590 don't pass around bityRates when you can access from state in reducer 2017-06-19 18:47:11 -05:00
Daniel Ternyak e6ce0b928a don't put store on window anymore 2017-06-19 18:41:45 -05:00
Daniel Ternyak c820cf8ce3 remove unused propType 2017-06-19 18:35:52 -05:00
Daniel Ternyak e7d8284d69 move state building into swap reducer instead of in wantToSwapMy component 2017-06-19 18:35:14 -05:00
Daniel Ternyak 67d57c3d4b remove eslint warning because store was undefined since it was global 2017-06-19 00:49:52 -05:00
Daniel Ternyak 6f638c66da remove unused actions 2017-06-19 00:39:57 -05:00
Daniel Ternyak 67a5eee0a9 Reformat 2017-06-19 00:39:07 -05:00
Daniel Ternyak f32a2d6631 Reformat: common/containers/Tabs/Swap/components/wantToSwapMy.js 2017-06-19 00:37:17 -05:00
Daniel Ternyak f0d00b3815 deleted common/libs/inputValidator.js 2017-06-18 23:57:46 -05:00
Daniel Ternyak 3cf43d04ad address additional comments 2017-06-18 23:56:32 -05:00
Daniel Ternyak c77f5ef300 address sleep() hack -- get state directly from redux instead of relying on props 2017-06-18 23:53:32 -05:00
Daniel Ternyak 192efd4404 reformat 2017-06-18 20:00:54 -05:00
Daniel Ternyak f2b8045c21 address additional comments 2017-06-18 19:56:11 -05:00
Daniel Ternyak 3333169c27 Fix duplicate location key due to bad marge 2017-06-18 15:00:15 -05:00
Daniel Ternyak 125d8742ae Merge branch 'cleanup' into swap 2017-06-18 14:58:45 -05:00
Daniel Ternyak 8e530fe476 use props.location instead of window 2017-06-18 14:56:12 -05:00
Daniel Ternyak fb73be4214 WIP address comments 2017-06-18 14:47:00 -05:00
Daniel Ternyak 00e5962ae0 Merge branch 'cleanup' into swap 2017-06-18 14:39:46 -05:00
Daniel Ternyak df3ddd7351 Add swap link; fix activeOrNot nav option selection. 2017-06-11 20:08:48 -05:00
Daniel Ternyak ee8c411c4e Remove comments. 2017-06-11 20:08:19 -05:00
Daniel Ternyak d745729d95 Swap: Initial Swap Home View 2017-06-11 20:02:39 -05:00
Daniel Ternyak e8a10b3848 Swap: Initial Bity API Class 2017-06-11 20:01:27 -05:00
Daniel Ternyak 0304bc8a67 Swap: Redux actions; Redux Reducers 2017-06-11 20:00:28 -05:00
crptm 3718e4f128 translator names 2017-06-02 00:45:00 +04:00
Daniel Kaspo 608f50ae1c Added keys for bolding and linking for markup.js
If you were to mix-and-match or use multiple markdown elements in one
string, this would cause a React key error. This fixes it by key-ing all
the things!
2017-05-31 20:46:03 -04:00
Daniel Kaspo 9d557785e3 linkify in markup.js now adds keys to multiple links.
Notably, LID "VIEWWALLET_Subtitle" was causing an issue here, since it
had more than one link. React was complaining about it but now it's all
good.
2017-05-31 19:58:03 -04:00
Daniel Kaspo 083b7c5caa Merge pull request #7 from MyEtherWallet/more_translations
More translations
2017-05-31 00:37:46 -04:00
Daniel Kaspo e49e72d250 Let to Const 2017-05-31 00:36:00 -04:00
Daniel Ternyak db70e17a67 PR comments 2017-05-30 22:34:57 -05:00
Daniel Kaspo 943161a863 Linting double quotes to single 2017-05-30 20:53:14 -04:00
Daniel Ternyak 62dcec96d9 fix merge conflicts 2017-05-30 18:35:30 -05:00
crptm 96cf7f5969 eslint 2017-05-31 00:36:52 +04:00
crptm e80ad3b053 trick reconciler into re-render on language change 2017-05-30 15:19:51 +04:00
crptm b7ffa458b0 decode &amp;s 2017-05-30 15:18:59 +04:00
crptm ec4212ae8f fix footer spacing 2017-05-30 15:18:39 +04:00
crptm f9b351b4c8 Revert "fix & sign"
This reverts commit 448ffe64f4.
2017-05-30 15:02:20 +04:00
Daniel Ternyak f4e7f0648b improve GenerateWalletPasswordComponent translation support 2017-05-30 01:18:44 -05:00
Daniel Ternyak 448ffe64f4 fix & sign 2017-05-30 01:18:23 -05:00
Daniel Ternyak db19b45c0d fix active bug in navbar 2017-05-30 01:18:12 -05:00
Daniel Ternyak cf36d9eb52 footer, generate wallet improved translations 2017-05-29 23:53:28 -05:00
crptm 1602e19214 support translations markup 2017-05-26 02:05:11 +04:00
crptm bea2b12f2d add Korean to languages dropdown 2017-05-25 22:32:34 +04:00
crptm 6b7a555f19 + ko.js 2017-05-25 22:29:55 +04:00
crptm 8b021be460 update ja.js 2017-05-25 22:27:14 +04:00
crptm bb99a6f0b2 Merge branch 'develop' into feat/translations 2017-05-25 10:06:53 +00:00
crptm 8516b03343 baby translations 2017-05-25 04:06:30 +04:00
crptm 68516d2e79 remove translation key dupes. NEED REVIEW 2017-05-25 03:21:28 +04:00