Commit Graph

97 Commits

Author SHA1 Message Date
Bryan Fillmer b666d0e143 Address flow issues in sagas (#162) 2017-09-04 11:30:31 -05: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 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
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
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
Daniel Ternyak c594619acd fix additional flow errors (#113) 2017-08-09 15:26:35 +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
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 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
skubakdj 7fd7ba66c9 Gas price dropdown (#61)
* implement gas price dropdown
2017-07-20 12:06:10 -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 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 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 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 06ae70988a merge develop into 'swap_part_3' 2017-07-03 22:21:19 -05:00
crptm 85759d73b4 type dropdown, config actions 2017-07-04 05:25:01 +04:00
crptm 65234a26c0 fix flow sagas errors 2017-07-04 03:59:27 +04: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 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 bc9765d99b Redux: Add SWAP_RECEIVING_ADDRESS action creators/reducers. 2017-06-24 01:08:33 -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 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 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 e7d8284d69 move state building into swap reducer instead of in wantToSwapMy component 2017-06-19 18:35:14 -05:00
Daniel Ternyak 67a5eee0a9 Reformat 2017-06-19 00:39:07 -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 fb73be4214 WIP address comments 2017-06-18 14:47:00 -05:00
Daniel Ternyak 0304bc8a67 Swap: Redux actions; Redux Reducers 2017-06-11 20:00:28 -05:00
crptm 96cf7f5969 eslint 2017-05-31 00:36:52 +04:00
crptm 94b7111761 cleanup header 2017-05-24 03:06:01 +04:00
Daniel Ternyak 32d9763cb1 fix bug in nodeselectordropdown reducer 2017-04-27 01:13:59 -05:00
Daniel Ternyak d79b54ff35 add cases for downloaded file and continue to paper actions 2017-04-27 01:13:33 -05:00
Daniel Ternyak 270c4911c8 Remove unneeded reducer imports. 2017-04-24 18:59:57 -05:00
Daniel Ternyak a12d720c8a Resolve broken prod css 2017-04-24 18:36:59 -05:00
Daniel Ternyak fcc03dc6d9 Create generateWallet reducer and add to combined reducer. 2017-04-18 18:34:24 -05:00
Daniel Ternyak 00c808fd7f create config reducer and move config component default state into reducer 2017-04-14 01:25:01 -05:00
Daniel Ternyak 37e8c0817e add config reducers to RootReducer/CombineReducer 2017-04-14 01:24:16 -05:00
Daniel Ternyak a17b97cbc2 create react/redux boilerplate 2017-04-12 00:04:27 -05:00