Commit Graph

52 Commits

Author SHA1 Message Date
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
greenkeeper[bot] 5766735a5a Update dependencies to enable Greenkeeper 🌴 (#344)
* chore(package): update dependencies

* docs(readme): add Greenkeeper badge

* Remove package lock and add it to ignore

* Pin typescript to 2.5.2

* Pin package versions to the versions previously in package-lock.json
2017-11-07 15:59:27 -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
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
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
William O'Beirne baea6aaf5f Use babel minifier instead of uglify (#273) 2017-10-08 18:31:26 -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 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
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 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
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 5e66cccac5 Command for HTTPS dev server (#212)
* HTTPS dev command.

* Remove unused declaration.

* check-node-version for dev:https
2017-09-19 17:47:46 -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
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
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
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
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
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 e8ad2ce958 Flow style include fix (#75)
* Attempt to fix the flow include style errors, as outlined in this gist: https://gist.github.com/lambdahands/d19e0da96285b749f0ef (#75)
2017-07-27 11:50:29 -05:00
Daniel Ternyak 69851696e9 Update flow-bin version to 0.50.0 (#67) 2017-07-21 13:49:30 -05:00
William O'Beirne d2ae162e80 Enforce node / npm versions, add package-lock.json (#57)
* Enforce node / npm versions, add package-lock.json

* Have travis respect nvmrc. Add nvmrc.
2017-07-18 19:41:17 -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
Daniel Ternyak 2265f75700 Adjust 'lint-staged' to pass single-quote via CLI; remove unneeded .prettierrc (#55) 2017-07-16 11:15:37 -05:00
Maciej Bembenista f4e63c7e02 Integrate Husky git hooks and configure a Prettier hook for JS (#53)
* Add Husky, lint-staged and prettier as dependencies, configure prettier precommit hook

* Change line width in Prettier to the default 80
2017-07-15 18:02:14 -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
crptm ecb11133dd move bity getRates to saga (#35)
* move bity getRates to saga

* typo

* bity polling
2017-07-07 21:00:09 -05:00
crptm 4b6f20dd63 remove dupe ethereumjs-util 2017-07-04 06:44:08 +04:00
crptm d6b7cca10a merge send-tx 2017-06-27 03:36:21 +04:00
crptm 240007fe43 merge develop 2017-06-27 03:13:21 +04:00
crptm 1fb4a004ac send wip 2017-06-27 02:27:55 +04:00
Daniel Ternyak c77f8430c5 Create Validator class and add deps to package.json 2017-06-24 01:08:57 -05:00
crptm d0becf7746 notifications 2017-06-22 03:31:59 +04:00
Daniel Kaspo ce3749000f Keystore decryption initial implementation. 2017-06-19 21:02:28 -04:00
Daniel Ternyak 81d5f64100 Swap: add axios and lodash to package.json 2017-06-11 20:05:36 -05:00
crptm aca012af6a tarnslate: html entites test 2017-06-02 00:13:59 +04:00
Daniel Ternyak a12d720c8a Resolve broken prod css 2017-04-24 18:36:59 -05:00
Daniel Ternyak 8cf7e25efd Add redux-form to package.json 2017-04-18 18:35:08 -05:00
Daniel Ternyak cfc5d20af2 add prop-types package 2017-04-14 01:27:29 -05:00
Daniel Ternyak 15cc449c1f fix version (npm required specific format) 2017-04-12 17:36:20 -05:00