Commit Graph

1323 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
GitLab Build Bot dcea17f8c6 [ci skip] js-precompiled 20170910-175532 2017-09-10 18:00:22 +00:00
Nicolas Gotchac f1a050366f Fix slow balances (#6471)
* Update token updates

* Update token info fetching

* Update logger

* Minor fixes to updates and notifications for balances

* Use Pubsub

* Fix timeout.

* Use pubsub for status.

* Fix signer subscription.

* Process tokens in chunks.

* Fix tokens loaded by chunks

* Linting

* Dispatch tokens asap

* Fix chunks processing.

* Better filter options

* Parallel log fetching.

* Fix signer polling.

* Fix initial block query.

* Token balances updates : the right(er) way

* Better tokens info fetching

* Fixes in token data fetching

* Only fetch what's needed (tokens)

* Fix linting issues

* Revert "Transaction permissioning (#6441)"

This reverts commit eed0e8b03a.

* Revert "Revert "Transaction permissioning (#6441)""

This reverts commit 8f96415e58dde652e5828706eb2639d43416f448.

* Update wasm-tests.

* Fixing balances fetching

* Fix requests tracking in UI

* Fix request watching

* Update the Logger

* PR Grumbles Fixes

* PR Grumbles fixes

* Linting...
2017-09-10 18:03:35 +02:00
Nikolay Volf ee14a3fb31 WASM runtime update (#6467)
* refactor to new parity-wasm

* more errors refactoring

* final test

* update tests

* fix merge bugs
2017-09-10 18:02:31 +02:00
Robert Habermeier 375668bc40 Compatibility with whisper v6 (#6179)
* compatibility with whisper v6

* separate subprotocol for parity extensions

* kill version field
2017-09-10 18:02:14 +02:00
Marek Kotewicz 7e3c081007 Merge pull request #6464 from paritytech/util_deps_cleanup
cleanup util dependencies
2017-09-05 16:21:05 +02:00
debris 8b5ce1a772 Merge branch 'master' into util_deps_cleanup 2017-09-05 14:59:42 +02:00
debris 14d00a7f72 Merge branch 'master' into util_error_chain 2017-09-05 14:58:35 +02:00
GitLab Build Bot e5bbabb2ba [ci skip] js-precompiled 20170905-115347 2017-09-05 11:58:41 +00:00
Axel Chalon be745f711f Refactor and port CLI from Docopt to Clap (#2066) (#6356)
* Refactor and port CLI from Docopt to Clap (#2066)

* Add --can-restart and --force-direct to help

* Add flag support to subc & move import/export options to subcommand

* Reorder subcommand args (put positional args last in CLI help message)
2017-09-05 12:30:22 +01:00
debris 4d0e05a8c1 cleanup util dependencies 2017-09-05 13:08:32 +02:00
debris 236b6f1c3e UtilError uses error_chain!, moved OutOfBounds and Mismatched to unexpected crate 2017-09-05 12:14:03 +02:00
Fredrik e54784bfeb Merge branch 'master' into fo-6418-dont-export-bigint
# Conflicts:
#	dapps/src/tests/helpers/registrar.rs
#	ethcore/evm/src/interpreter/shared_cache.rs
#	ethcore/light/src/client/header_chain.rs
#	ethcore/light/src/client/mod.rs
#	ethcore/light/src/net/mod.rs
#	ethcore/light/src/on_demand/request.rs
#	ethcore/light/src/on_demand/tests.rs
#	ethcore/light/src/provider.rs
#	ethcore/node_filter/src/lib.rs
#	ethcore/src/block.rs
#	ethcore/src/blockchain/blockchain.rs
#	ethcore/src/client/test_client.rs
#	ethcore/src/engines/authority_round/mod.rs
#	ethcore/src/engines/basic_authority.rs
#	ethcore/src/engines/mod.rs
#	ethcore/src/engines/tendermint/mod.rs
#	ethcore/src/engines/validator_set/contract.rs
#	ethcore/src/engines/validator_set/multi.rs
#	ethcore/src/engines/validator_set/safe_contract.rs
#	ethcore/src/engines/vote_collector.rs
#	ethcore/src/miner/external.rs
#	ethcore/src/miner/miner.rs
#	ethcore/src/miner/service_transaction_checker.rs
#	ethcore/src/miner/work_notify.rs
#	ethcore/src/pod_account.rs
#	ethcore/src/pod_state.rs
#	ethcore/src/snapshot/block.rs
#	ethcore/src/snapshot/consensus/work.rs
#	ethcore/src/snapshot/mod.rs
#	ethcore/src/snapshot/service.rs
#	ethcore/src/spec/spec.rs
#	ethcore/src/state/backend.rs
#	ethcore/src/trace/db.rs
#	ethcore/src/verification/queue/mod.rs
#	ethcore/src/verification/verification.rs
#	parity/informant.rs
#	rpc/src/v1/helpers/dispatch.rs
#	rpc/src/v1/helpers/light_fetch.rs
#	rpc/src/v1/helpers/signing_queue.rs
#	rpc/src/v1/impls/eth.rs
#	rpc/src/v1/impls/eth_filter.rs
#	rpc/src/v1/impls/eth_pubsub.rs
#	rpc/src/v1/impls/light/eth.rs
#	rpc/src/v1/impls/signing.rs
#	rpc/src/v1/tests/helpers/miner_service.rs
#	rpc/src/v1/tests/helpers/snapshot_service.rs
#	rpc/src/v1/tests/helpers/sync_provider.rs
#	rpc/src/v1/tests/mocked/eth.rs
#	stratum/src/lib.rs
#	sync/src/blocks.rs
#	sync/src/chain.rs
#	sync/src/light_sync/mod.rs
#	sync/src/tests/helpers.rs
#	sync/src/tests/snapshot.rs
#	updater/src/updater.rs
#	util/src/lib.rs
#	util/triehash/src/lib.rs
2017-09-04 18:32:55 +02:00
Fredrik 308f36a532 Don't reexport bigint from util 2017-09-04 16:36:49 +02:00
Marek Kotewicz b731ccea18 triehash is separated from util (#6428) 2017-09-03 09:11:14 +02:00
Hawstein 7b8af30590 remove re-export of parking_lot in util (#6435) 2017-09-02 20:09:13 +02:00
Hawstein 2faa28ce9b separate semantic_version from util (#6438) 2017-09-02 13:14:21 +02:00
GitLab Build Bot 6b8c9cac23 [ci skip] js-precompiled 20170901-161931 2017-09-01 16:33:31 +00:00
Hawstein cf366bdb29 util should not reexport ansi_term 2017-09-01 22:57:57 +08:00
debris 94f717a255 Merge branch 'master' into keccak_fn 2017-08-31 11:53:26 +02:00
debris 7849fff41e finished 2017-08-31 11:35:41 +02:00
debris f0e8abb07b Hashable::sha3 -> fn keccak for ethcore 2017-08-30 19:18:28 +02:00
debris e120c75d17 Hashable::sha3 -> fn keccak for ethcore-network 2017-08-30 17:14:52 +02:00
debris 0e088d783d Hashable::sha3 -> fn keccak for ethcore-util 2017-08-30 16:20:21 +02:00
Axel Chalon 6b5ad69c22 Remove reexport of HeapSizeOf in util (#6419) 2017-08-30 16:04:47 +02:00
Arkadiy Paronyan d520aa2633 Connection filter (#6359) 2017-08-29 14:38:01 +02:00
Marek Kotewicz c6b3faca64 Merge pull request #6321 from paritytech/plain_hasher
Optimized PlainHasher hashing. Trie insertions are >15% faster
2017-08-28 18:46:04 +02:00
Tomasz Drwięga f9a08e285c Running state test using parity-evm (#6355)
* Initial version of state tests.

* Refactor state to support tracing.

* Unify TransactResult.

* Add test.
2017-08-28 14:25:16 +02:00
Tomasz Drwięga 3226e1ca33 Expose health status over RPC (#6274)
* Node-health to a separate crate.

* Initialize node_health outside of dapps.

* Expose health over RPC.

* Bring back 412 and fix JS.

* Add health to workspace and tests.

* Fix compilation without default features.

* Fix borked merge.

* Revert to generics to avoid virtual calls.

* Fix node-health tests.

* Add missing trailing comma.
2017-08-28 14:11:55 +02:00
debris 752dad6829 commit plain_hasher to util 2017-08-28 12:40:29 +02:00
debris e0c2995f78 Merge branch 'master' into plain_hasher 2017-08-28 12:30:05 +02:00
GitLab Build Bot b6024adf85 [ci skip] js-precompiled 20170825-090654 2017-08-25 09:11:39 +00:00
Marek Kotewicz 4bda7bf175 updated bigint (#6341) 2017-08-22 17:05:28 +02:00
Marek Kotewicz 6f03c2bfd1 Merge pull request #6322 from paritytech/itertools
Itertools are no longer reexported from util, optimized triedb iter
2017-08-21 15:58:46 +02:00
GitLab Build Bot f3e7d7c725 [ci skip] js-precompiled 20170821-094253 2017-08-21 09:48:30 +00:00
debris a247d5b2dc Merge branch 'master' into itertools 2017-08-21 09:12:36 +02:00
Marek Kotewicz 407c8c3fb9 rlp_derive (#6125)
* rlp_derive

* RlpEncodableWrapper, RlpDecodableWrapper

* use rlp_derive in parity

* fixed broken transaction Action serialization
2017-08-20 12:01:46 +08:00
GitLab Build Bot 2c0a1b652c [ci skip] js-precompiled 20170818-143526 2017-08-18 14:40:04 +00:00
debris 7de4a3a2df move plain hasher to a crate 2017-08-17 20:40:10 +02:00
debris 209e8eff35 updated bigint with optimized mul and from_big_indian 2017-08-17 18:11:34 +02:00
debris 4cb610d9ae Itertools are no longer reexported from util, optimized triedb iter 2017-08-17 16:05:26 +02:00
GitLab Build Bot d115006597 [ci skip] js-precompiled 20170813-184308 2017-08-13 18:48:32 +00: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
Marek Kotewicz a8a11e56db updated jsonrpc (#6264) 2017-08-09 17:40:52 +03:00
Marek Kotewicz 80db43442e Merge pull request #6231 from paritytech/price_info_util
price-info does not depend on util
2017-08-08 20:56:12 +02:00
Marek Kotewicz f2929f3b19 Merge pull request #6233 from paritytech/native_contracts_util
native-contracts crate does not depend on util any more
2017-08-08 20:55:36 +02:00
Afri afbda7baa8 Bump master to 1.8.0 (#6256)
* Bump master to 1.8.0

* Use jsonrpc-core to avoid breaking master

* Update Cargo.lock
2017-08-08 20:18:00 +02:00
Svyatoslav Nikolsky 872e5537bb SecretStore: do not cache ACL contract + on-chain key servers configuration (#6107)
* do not cache ACL storage contract

* when error comes before initialization

* initial KeyServerSet commit

* update_nodes_set in maintain

* do not connect to self

* fixed connection establishing

* removed println

* improved KeyServerSet tracing

* moved parsing to KeyServerSet

* re-read only when blockchain is changed

* do not try to connect if not a part of cluster

* improved logging

* fixed tests
2017-08-07 18:54:05 +02:00
GitLab Build Bot 67ccfa1da1 [ci skip] js-precompiled 20170807-093816 2017-08-07 09:43:01 +00:00