Commit Graph

192 Commits

Author SHA1 Message Date
maciejhirsz
0e43ce6e07 Disable time conditions in Tx UI #6445 2017-09-25 17:08:09 +02:00
maciejhirsz
1b7c90e9e1 Remove public node hacks 2017-09-21 16:52:00 +02:00
Travis Jacobs
9e0d2c15cd Fix #6540 (#6556)
* Fix #6540
- just skip the checkRequest call if result of postTransaction is a tx ID

* Fix requestId naming
2017-09-21 10:10:09 +02:00
Tomasz Drwięga
06ff866e9d Fix broken JavaScript tests (#6498)
* Fixing/removing failing JS tests.

* Fix javascript tests.
2017-09-14 19:32:06 +02:00
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
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
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
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
Tomasz Drwięga
b5b6e3dd2a Fix a hash displayed in tooltip when signing arbitrary data (#6283)
* Allow connections from firefox extension.

* Displaying actual data that will be signed on hover.

* Display a tooltip.

* Revert "Allow connections from firefox extension."

This reverts commit d3323b76fe28564c2366ceec3d891de19884192f.
2017-08-13 17:41:08 +02: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
maciejhirsz
2ca4adb62c Re-enable wallets, fixed forgetting accounts 2017-07-31 17:51:23 +02:00
kaikun213
f245d66c8a shh_subscription added 2017-07-27 15:48:49 +02:00
kaikun213
b13cd0d484 getFilterChanges -> getFilterMessages , subscribe & unsubscribe
subscription is currently not working (method not found)
2017-07-27 12:18:07 +02:00
kaikun213
689993a592 whisper parity.js api 2017-07-25 17:58:52 +02:00
Jaco Greeff
58307479ad Fix lint/build issue (#6050) 2017-07-13 14:37:35 +02:00
Joseph Mark
0fca4f95d6 Errors & warnings for inappropriate RPCs (#6029)
* Clarify function name

Function checks if sealing is currently underway, not to be confused
with checking whether the engine performs internal sealing.

* Error when work called on internal sealing engine

* Error submitting work for internal sealing engine

* Fix inverted bool and style grumbles

* Add can_produce_work_package to TestMinerService

* Error when setting engine signer on PoW chain

* Unit tests for engine signing

Setting engine signer should fail if chain does not seal internally
or client lacks account provider.

* Tweak TestMinerService

* Fix minor style grumbles
2017-07-12 08:52:18 +02:00
kaikun213
349316f70e PubSub for parity-js (#5830)
* PubSub Integration WebSocket

* PubSub Provider API

* Parity License and fix switch statement

* Minor fix: use parameter api

* Exclude subscriptionId return

* Unsubscribe parameters as array

* secureProvider API added

* isSecure check

* Refractor: Formatting in callback (no Promise)

* Tests for parityProvider

* Refractor: Formatting in callback (secure API)

* Updated transaction documentation

* Module instead of API-Names, Options always as array (e.g. empty)

'parity' instead of 'parity_subscribe' calls
params with empty array as options. If eth_subscribe includes empty array parity-core will send invalid request (eth api doesn't have options)

* Removed isSecure transport check, because APIs are configurable

* Refractor Provider API to single Pubsub

* Modify transport layer to have single identifier for subscriptions

* FIX: Display pubsub errors

* Discard Messages after unsubscribing

* Fix: display error normal messages correctly

* Simplified code, removed unnecessary pubsub methods

* trace_call API 2nd argument blockNumber, first whatTrace

https://github.com/paritytech/parity/wiki/JSONRPC-trace-module#trace_call

* Separate namespaces pubsub. eth, parity, net

* Keep error for messages from unsubscribed topics.

* Fix: Unsubscribe Promise

* Add Test: Unsubscribe promise resolved

* Fix: 'error' in params
2017-07-06 09:50:27 +02:00
Jaco Greeff
0f41121556 Empty local middleware, until explicitly requested (#5912)
* Empty local middleware, until explicitly requested

* Remove previous empty overrides (unneeded now)

* Re-add over-zealous keyethereum removal
2017-06-23 13:40:16 +02:00
Robert Habermeier
b6fd18a9ca Merge pull request #5833 from paritytech/pubsub-docs
Docs for Pub-Sub, optional parameter for parity_subscribe
2017-06-22 20:17:02 +02:00
Tomasz Drwięga
53609f703e Domain-locked web tokens. (#5894)
* Domain-locking web tokens.

* JS part.

* Fix linting issues.
2017-06-22 20:05:40 +02:00
Jaco Greeff
a60c5527c7 Keyethereum fs dependency (#5902)
* Set process.browser

* Empty fs module (keyethereum dep)

* !==
2017-06-22 11:49:44 +02:00
Maciej Hirsz
e871b7a0ac Merge pull request #5856 from paritytech/mh-pubnode-dappsigner
Fixed account selection for Dapps on public node
2017-06-19 18:29:06 +02:00
maciejhirsz
ba6e41cf07 Fixed account selection for Dapps on public node 2017-06-16 14:00:30 +02:00
Nicolas Gotchac
8cb4bc2127 Fix wrongly called timeouts 2017-06-14 12:35:36 +02:00
Tomasz Drwięga
00b58d1206
Merge branch 'master' into pubsub-docs
# Conflicts:
#	rpc/src/v1/tests/mocked/pubsub.rs
2017-06-14 11:46:30 +02:00
Nicolas Gotchac
e4c7a7f30a Don't fail on wrong log decoding (#5813) 2017-06-13 18:36:51 +03:00
Tomasz Drwięga
47e1e18e7e
Ignoring some methods in test. 2017-06-13 16:47:58 +02:00
maciejhirsz
c7c05552f3 Fix rust, skip WASM till CI switches to Node 8+ 2017-06-12 17:43:23 +02:00
Maciej Hirsz
b2a42f03eb Public node WASM, performance and fixes (#5734) 2017-06-12 15:57:16 +02:00
Tomasz Drwięga
8a364bbfaa Fixing UI issues after UI server refactor (#5710)
* Self-sufficient secureApi.

* Updating embed.

* Linting issues.
2017-06-04 12:34:03 +02:00
Tomasz Drwięga
cbcc369a2d UI server refactoring (#5580)
* Full API in Authenticated WS server.

* Replacing UI server with Hyper.

* Solving CLI, RPCs and tests.

* Porting signer tests.

* Fixing origin recognition for dapps/rpc.

* Fixing tests. Adding parity-rpc-client to test.

* Dapps exposed as RPC method.

* JS code to support new connection scheme.

* Fixing dapps tests.

* Updating allowed origins/hosts to support web3.site.

* Fixing tests, fixing UI.

* Fixing tests.

* Removing invalid tests.

* Fixing merge.

* 404 fallback for UI

* Improve ContentFetcher constructor readability.

* Naming.

* Update .gitlab-ci.yml

fix CI lint error

* Fixing tests and linting issues.

* Fixing new tests.

* UI hosts.

* Submodules fix.
2017-05-24 12:24:07 +02:00
Micah Zoltu
2092b805b6 Updated docs slightly. (#5674)
These docs _really_ need a lot of improvement (like what are the options that go in `{}`, but at least they are now not outright incorrect.
2017-05-23 08:37:27 -04:00
Jaco Greeff
c944b2e632 Remove public middleware (temporary) (#5665) 2017-05-19 18:05:44 +02:00
Tomasz Drwięga
240704fb54 Proper signer Pub-Sub for pending requests. (#5594)
* Signer subscription.

* Fixing RPC tests.

* Improve notification performance.
2017-05-17 16:20:41 +02:00
Nicolas Gotchac
0f1a857576 Add peer management to the Status tab (#5566)
* Add peer management to the Status tab

* Fix propTypes issue
2017-05-16 11:01:55 +01:00
Nicolas Gotchac
c5116e5049 Fix event params decoding when no names for parameters #5409 (#5567) 2017-05-09 12:56:08 +02:00
Nicolas Gotchac
1288b4b28f Do not convert to Dates twice (#5563)
* Don't convert Dates twice

* Take string dates into account
2017-05-09 12:55:52 +02:00
Maciej Hirsz
d5683d2016 Added missing methods (#5542)
* Added missing methods

* Adding to Parity.js
2017-05-04 17:58:01 +02:00
Jaco Greeff
70e87677b3 Retrieve block headers only for header-only info (#5480)
* Add parity_getBlockHeaderByNumber

* Use parity_getBlockHeaderByNumber for retrieval
2017-05-03 14:12:06 +02:00
Nicolas Gotchac
37690cfde2 Refactoring of Tokens & Balances (#5372)
* Remove ETH filter

* Remove unused Blockchain reducer+actions

* Simpler Token updates and fetching

* Cleanup use of balances

* Cleanup of balances

* Cleanup of Balances

* Linting

* Update List Component

* Separate tokens from balances

* Refactoring balance fetchin and storing - Part I

* Linting

* Better ETH token description and use

* Working Transfer with new logic

* Add debugging

* Querying the tokens filter on new block

* Fixing the tests - PART I

* Fix txCount
2017-04-19 18:00:05 +02:00
Maciej Hirsz
df5f722885 Merge pull request #5417 from paritytech/mh-publicnode-tests
Tests and tweaks for public node middleware
2017-04-13 10:13:07 +02:00
keorn
52eae66c72 Add raw hash signing (#5423)
* add sign any

* Add RPC signMessage call to JS API

* Add signMessage to JSON RPC docs

* PostSignTransaction -> EthSignMessage

* fix doc typo

* revert incorect naming
2017-04-12 12:15:13 +02:00
maciejhirsz
b11a84a347 Unlock transaction on RPC errors 2017-04-10 11:22:32 +02:00
Nicolas Gotchac
0aaf236ad1 Add decryption to the UI (in the Signer) (#5422)
* Add decryption to the UI in signer + Fix Signing style

* Proper out format function for singing methods

* name
2017-04-10 11:21:06 +02:00
Tomasz Drwięga
4e498790d4 Updating documentation for RPCs (#5392)
* Removing minBlocks occurrencies

* Docs for new RPCs.

* Fixing linting issues, updating *withToken documentatiojn.

* Adding missing RPCs. Fixing tests.

* Fixing lint issues.
2017-04-08 11:28:04 +02:00
maciejhirsz
a45791d2c0 Handle invalid passwords 2017-04-06 17:36:21 +02:00
maciejhirsz
564a1b0fbb Tests and tweaks for public node middleware 2017-04-06 17:13:53 +02:00
maciejhirsz
94bfe116aa CR fixes 2017-04-04 11:49:36 +02:00
maciejhirsz
50e0221dd1 Perf and fixes 2017-04-03 18:50:11 +02:00
Jaco Greeff
2447875b26 Update npm build for new inclusions (#5381)
* Update npm build for new inclusions

* Add dummy interface for secp256k1
2017-04-03 12:16:41 +02:00