Commit Graph

132 Commits

Author SHA1 Message Date
Fredrik Harrysson
75b6a31e87 Trezor Support (#6403)
* Copy modal from keepkey branch and generalize

The keepkey PinMatrix modal needs to be the same for Trezor, but we
should probably try to keep it general since it can be used for both.

* Add trezor communication code

This is a result of much trial-and-error and a couple of dead-ends in
how to communicate and wire everything up.

Code here is still a bit WIP with lots of debug prints and stuff.

The test works though, it is possible to sign a transaction.

* Extend the basic lib to allow Trezor

This is kind of ugly and needs some cleanup and generalization. I’ve
just copy-pasted some things to bring in the trezor wallets. I’ve also
had to add a lock to the USB API so that only one thing talks to the
USB at once.

* Add RPC plumbing needed

We need to be able to get “locked” devices from the frontend to figure
out if we’re going to display the PinMatrix or not. Then we need to be
able to send a pin to a device.

* Add logic to query backend for Trezor and display PinMatrix

There’s a bug somewhere here because signing a transaction fails if you
take too long to press the confirm button on the device.

* Change back to paritytech branch

As my fork has been merged in.

* Converting spaces to tabs, as it should be

* Incorporate correct handling of EIP-155

Turns out the Trezor was adjusting the v part of the signature, and
we’re already doing that so it was done twice.

* Some circular logic here that was incorrect

BE-encoded U256 is almost the same as RLP encoded without the
size-byte, except for <u8 sized values. What’s really done is
BE-encoded U256 and then left-trimmed to the smallest size. Kind of
obvious in hindsight.

* Resolve issue where not clicking fast enough fails

The device will not repeat a ButtonRequest when you read from it, so
you need to have a blocking `read` for whatever amount of time that you
want to give the user to click. You could also have a shorter timeout
but keep retrying for some amount of time, but it would amount to the
same thing.

* Scan after pin entry to make accepting it faster

* Remove ability to cancel pin request

* Some slight cleanup

* Probe for the correct HID Version to determine padding

* Move the PinMatrix from Accounts to Application

* Removing unused dependencies

* Mistake in copying over stuff from keepkey branch

* Simplify FormattedMessage

* Move generated code to external crate

* Remove ethcore-util dependency

* Fix broken import in test

This test is useless without a connected Trezor, not sure how to make
it useful without one.

* Merge branch 'master' into fh-4500-trezor-support

# Conflicts:
#	rpc/src/v1/helpers/dispatch.rs

* Ignore test that can't be run without trezor device

* Fixing grumbles

* Avoiding owning data in RPC method
* Checking for overflow in v part of signature
* s/network_id/chain_id
* Propagating an error from the HID Api
* Condensing code a little bit

* Fixing UI.

* Debugging trezor.

* Minor styling tweak

* Make message type into an actual type

This makes the message type that the RPC message accepts into an actual
type as opposed to just a string, based on feedback. Although I’m not
100% sure this has actually improved the situation.

Overall I think the hardware wallet interface needs some refactoring
love.

* Split the trezor RPC endpoint

It’s split into two more generic endpoints that should be suitable for
any hardware wallets with the same behavior to sit behind.

* Reflect RPC method split in javascript

* Fix bug with pin entry

* Fix deadlock for Ledger

* Avoid having a USB lock in just listing locked wallets

* Fix javascript issue (see #6509)

* Replace Mutex with RwLock

* Update Ledger test

* Fix typo causing faulty signatures (sometimes)

* *Actually* fix tests

* Update git submodule

Needed to make tests pass

* Swap line orders to prevent possible deadlock

* Make setPinMatrixRequest an @action
2017-09-14 19:28:43 +02:00
Jaco Greeff
baeab01357 Current @parity/shared (required dapp-* rebuild) 2017-09-13 17:51:38 +02:00
Jaco Greeff
4a184dbbe6 Merge branch 'master' into ui-2 2017-09-13 15:51:02 +02:00
Jaco Greeff
5d774d360e Update with latest dependencies 2017-09-13 13:09:32 +02:00
Jaco Greeff
94df97a5ae Update packages 2017-09-12 15:58:13 +02:00
Jaco Greeff
6e2e122288 Update with recent @parity/ui 2017-09-12 13:32:21 +02:00
Jaco Greeff
ceb1dd8d83 Electron app should not display extension install message 2017-09-11 10:00:51 +02:00
GitLab Build Bot
dcea17f8c6 [ci skip] js-precompiled 20170910-175532 2017-09-10 18:00:22 +00:00
Jaco Greeff
6d8b511d25 Merge master 2017-09-07 13:32:45 +02:00
GitLab Build Bot
e5bbabb2ba [ci skip] js-precompiled 20170905-115347 2017-09-05 11:58:41 +00:00
Jaco Greeff
1d8886fa7d Adjust Signer title colours 2017-09-05 13:33:57 +02:00
Jaco Greeff
7818ed98c7 Add status bar extension plugins 2017-09-04 12:24:46 +02:00
GitLab Build Bot
6b8c9cac23 [ci skip] js-precompiled 20170901-161931 2017-09-01 16:33:31 +00:00
Craig O'Connor
56f46edab8 Pub sub blocks (#6139)
* fun start

* playin

* linting

* cleanup kk 1

* cleanup kk 2

* package

* oops

* grumbles

* lint

* lint 2

* all-possible-cases

* conflict resolution

* conflict resolution

* ready

* lint

* remove package-lock

* Restart subscription on transport close.

* Bring back the formatter.

* Fix formatter.
2017-09-01 12:23:41 +02:00
Jaco Greeff
d957a10f47 Update to cater for token URL 2017-08-31 14:08:15 +02:00
Jaco Greeff
b1428c2b56 Update packages 2017-08-30 09:29:28 +02:00
Jaco Greeff
35202e28c2 Update webpack 2017-08-29 15:11:09 +02:00
Jaco Greeff
2593477151 Don't show tags for dapps 2017-08-29 13:03:06 +02:00
Jaco Greeff
39cf190db7 Update dependencies 2017-08-29 10:50:47 +02:00
Jaco Greeff
2a0820278b Update 2017-08-29 10:18:02 +02:00
Jaco Greeff
7438cfc47d Merge branch 'master' into ui-2 2017-08-25 12:14:56 +02:00
GitLab Build Bot
b6024adf85 [ci skip] js-precompiled 20170825-090654 2017-08-25 09:11:39 +00:00
Jaco Greeff
ae66b98aac Update dependencies 2017-08-24 12:01:47 +02:00
Jaco Greeff
21e8c31aec Update dependencies 2017-08-22 16:51:40 +02:00
Jaco Greeff
630118b5a5 Merge branch 'master' into ui-2 2017-08-22 15:12:30 +02:00
GitLab Build Bot
f3e7d7c725 [ci skip] js-precompiled 20170821-094253 2017-08-21 09:48:30 +00:00
GitLab Build Bot
2c0a1b652c [ci skip] js-precompiled 20170818-143526 2017-08-18 14:40:04 +00:00
GitLab Build Bot
d115006597 [ci skip] js-precompiled 20170813-184308 2017-08-13 18:48:32 +00:00
Jaco Greeff
f0e20142af Rebuild 2017-08-11 03:19:28 +02:00
GitLab Build Bot
ecd880c8e7 [ci skip] js-precompiled 20170810-101054 2017-08-10 10:16:01 +00:00
GitLab Build Bot
b21932687a [ci skip] js-precompiled 20170809-182421 2017-08-09 18:29:28 +00:00
Craig O'Connor
7d17d77254 Dapp refresh (#5752)
* RwLock

* getting there

* argh

* parking_lot

* rpc

* wax on wax off

* almost there

* remove lock

* write over read

* works

* linting

* small updates

* dissapearing act

* router update

* complete

* one m

* grumbles1

* grumbles part II

* parking_lot->util

* missed test case

* fied package-lock.json

* small fixes

* 404 tests failing

* cleanup

* cleanup 2

* updates and the likes

* play

* simplify filter

* f-ing bugs

* read->write

* Address own grumbles.

* Fix test.
2017-08-09 19:06:40 +02:00
Jaco Greeff
039729a074 Export default function for shellMiddleware 2017-08-09 13:17:52 +02:00
Jaco Greeff
2d5541f533 Add shell_loadApp API 2017-08-09 10:55:15 +02:00
Jaco Greeff
9aae4614a1 Update with latest package versions 2017-08-09 09:43:02 +02:00
Jaco Greeff
a11e9acd12 Merge branch 'master' into ui-2 2017-08-09 09:32:22 +02:00
Jaco Greeff
b0228e66a0 Update/rebuild after merge 2017-08-07 12:27:10 +02:00
GitLab Build Bot
67ccfa1da1 [ci skip] js-precompiled 20170807-093816 2017-08-07 09:43:01 +00:00
Jaco Greeff
0371dcb7bd Explicityly serve via /index.html 2017-08-07 10:20:27 +02:00
GitLab Build Bot
82f90085ee [ci skip] js-precompiled 20170807-004826 2017-08-07 00:53:11 +00:00
Jaco Greeff
28e2383778 Update build 2017-08-04 16:23:54 +02:00
Jaco Greeff
c088a9a660 Update dependencies 2017-08-04 11:57:05 +02:00
Jaco Greeff
e7641e38d8 Update build 2017-08-03 16:50:35 +02:00
Jaco Greeff
e99f86a052 Update locked versions 2017-08-02 17:54:21 +02:00
Jaco Greeff
696089c479 Update with latest dapps 2017-08-02 17:16:26 +02:00
Jaco Greeff
45f91facf1 Don't copy source window 2017-08-02 13:56:09 +02:00
Jaco Greeff
ffd53edf89 Update build 2017-08-02 11:15:36 +02:00
GitLab Build Bot
191f409741 [ci skip] js-precompiled 20170801-155944 2017-08-01 16:06:06 +00:00
Jaco Greeff
1d96ba7dfc Update 2017-08-01 17:35:17 +02:00
Jaco Greeff
3006ab9253 Updated with working accounts 2017-08-01 16:07:35 +02:00
Jaco Greeff
dea25b194e Update build (yes, external dapps launch) 2017-08-01 15:36:32 +02:00
Jaco Greeff
f8bf4a1522 Update build to pull from external repos 2017-08-01 14:41:13 +02:00
Jaco Greeff
b5f4c40406 Re-add webpack-dev-server 2017-08-01 08:12:21 +02:00
GitLab Build Bot
a6891e9f9f [ci skip] js-precompiled 20170731-215156 2017-07-31 21:57:18 +00:00
Jaco Greeff
0e7c115b73 Update build 2017-07-31 22:53:29 +02:00
Jaco Greeff
7f6e2a3a35 Build with parallel-webpack 2017-07-31 17:08:51 +02:00
Jaco Greeff
fdebeaf95b Update webpack 2017-07-31 13:58:18 +02:00
Jaco Greeff
6349da22ac Fix NODE_ENV=production build 2017-07-31 11:24:25 +02:00
Jaco Greeff
abb62d5c2a Ui 2 parity build fixes (#6182)
* Update API reference

* Deprecation warning

* Add missing parity-reactive-ui

* Add dapps to packages/dapps

* Add parity.js dependency

* Update with js-ui with compiled bundle.js
2017-07-28 17:56:48 +02:00
Jaco Greeff
4000ec681f Ui 2 js build fixes (#6176)
* Update API reference

* Deprecation warning

* Add missing parity-reactive-ui

* Add dapps to packages/dapps

* Add parity.js dependency
2017-07-28 15:37:58 +02:00
Jaco Greeff
a1b8fabd99 Ui 2 packages (#6169)
* Ensure all internal dapps have package.json

* Update compilation rules

# Conflicts:
#	js/src/redux/providers/balancesActions.js
#	js/src/ui/Form/TypedInput/typedInput.js

* Remove SignerIcon

* Cleanup providers

* Enable request of new token from app

* Queue when no token (yet)

* Add location & token request

* Cleanup send logic

* Request token

* Request comms token

* Remove yarn.lock (not updated)

* Update version to 1.99.99 (publish prepare)

* Move jsonrpc to seperate repo

* Update jsonrpc references

* Update repo info

* Update repo info

* Additional debugging

* Update repo references

* Move ABI to js-abi repo

* Move webWorker to shared

* Fix package reference

* Worker location

* Move js-ui & js-shared components

* Update file references

* Update package repo locations

* Remove debugging info

* Cleanup debug

* Split api into own repo

* Update api local references

* Update app loading

* Update dependencies

* Allow serving of /parity-utils

* Error when EthereumProvider has not been attached

* Use inject.js

* Correct appId retrieval
2017-07-28 10:25:34 +02:00
Jaco Greeff
5830767273 Add oo7 deps 2017-07-27 20:23:36 +02:00
Jaco Greeff
53bde282bb Link dapp-develop/account 2017-07-27 18:12:42 +02:00
Jaco Greeff
09e40c2f0d Upgrade webpack 2017-07-26 12:08:34 +02:00
Jaco Greeff
49fdd23d58 Ui 2 move to packages/* (#6113)
* Move secureApi to shell

* Extract isTestnet test

* Use mobx + subscriptions for status

* Re-add status indicator

* Add lerna

* Move intial packages to js/packages

* Move 3rdparty/{email,sms}-verification to correct location

* Move package.json & README to library src

* Move tests for library packages

* Move views & dapps to packages

* Move i18n to root

* Move shell to actual src (main app)

* Remove ~ references

* Change ~ to root (explicit imports)

* Finalise convert of ~

* Move views into dapps as well

* Move dapps to packages/

* Fix references

* Update css

* Update test spec locations

* Update tests

* Case fix

* Skip flakey tests

* Update enzyme

* Skip previously ignored tests

* Allow empty api for hw

* Re-add theme for embed
2017-07-21 15:46:53 +02:00
Jaco Greeff
36f94fde05 Ui 2 package upgrades (#6076)
* Upgrade to React 15.6

* Import PropTypes from prop-types

* Update package.json

* UI version in built version

* Cleanup /api/health status failures

* Check reponse.ok

* Add icons to view dapps

* Adjust layout for dapps

* Slightly darker balance background

* Adjust shadows
2017-07-17 18:37:33 +02:00
Jaco Greeff
fcdaa0d05b Upated dependencies 2017-07-17 11:54:13 +02:00
Jaco Greeff
e36a7fab2d Update tests to master version 2017-07-13 11:54:52 +02:00
Jaco Greeff
92a9ff3c1a Update after merge 2017-07-11 12:47:22 +02:00
Jaco Greeff
3d24ae0981 Merge branch 'master' into ui-2 2017-07-10 17:36:55 +02:00
Jaco Greeff
699aab0b80 Update package-lock.json 2017-07-10 11:40:45 +02:00
Jaco Greeff
cbcda140ec Ui 2 updates subscribe (#6027)
* Add account & vault APIs

* Additional status methods

* Move permission modals into Dapp

* Adjust display position

* Don't publish invalid events

* Cleanup Wallet display

* Update package-lock

* Align icon buttons center

* Adjust account selectors

* Adjust wallet white

* Allow display of boolean/false values

* Pass value through correctly for disabled inputs

* Split requests into sections

* onClict -> onClick

* Update label

* Update skip step

* Connect provider interfaces
2017-07-10 11:04:29 +02:00
Jaco Greeff
1896c2720b Use qrcode-generator directly from package 2017-07-03 09:48:17 +02:00
Jaco Greeff
6dfa097752 Update 2017-06-23 11:57:33 +02:00
Jaco Greeff
d9cb2c7781 Update 2017-06-23 11:53:20 +02:00
Jaco Greeff
a6d3d4ea4c Secure API access via single-use tokens (#5892)
* Single use token for dapp permissions

* Add accountsInfo & allAccountsInfo

* Covert token -> dappName in requests
2017-06-21 15:15:23 +02:00
Jaco Greeff
e479260e1f Method intercept dialog selection (#5875)
* Cleanup filter config

* Show single request of type (at a time)

* Align packages

* DappFilter -> DappRequests

* Methods dialog (WIP)

* Initial dapp methods modal

* Align dialog & popup permissions

* appname -> token mapping TODOs

* Case
2017-06-19 17:25:17 +02:00
Jaco Greeff
d4532fac18 Updated after merge 2017-06-19 10:42:17 +02:00
Jaco Greeff
acf9096a83 Updated 2017-06-19 10:38:32 +02:00
Jaco Greeff
38b4ba8d33 Update package-lock 2017-06-14 10:27:33 +02:00
Jaco Greeff
8f5a863468 Package updates 2017-06-13 13:23:16 +02:00
Jaco Greeff
6ea932b1de Update test for packages 2017-06-13 12:09:32 +02:00