Commit Graph

1725 Commits

Author SHA1 Message Date
Wei Tang
d8af9f4e7b Add RPC eth_chainId for querying the current blockchain chain ID (#6329)
* Add RPC eth_chainId for querying the current blockchain chain ID

Currently although we can use `net_version` RPC call to get the
current network ID, there's no RPC for querying the chain ID. This
makes it impossible to determine the current actual blockchain using
the RPC. An ETH/ETC client can accidentally connect to an ETC/ETH RPC
endpoint without knowing it unless it tries to sign a transaction or
it fetch a transaction that is known to have signed with a chain
ID. This has since caused trouble for application developers, such as
MetaMask, to add multi-chain support.

The same RPC endpoint is also about to be merged for ETC's
go-ethereum: https://github.com/ethereumproject/go-ethereum/pull/336

* Add eth_chainId to js's web3 interface

* Add a mocked test for eth_chainId

* Add chainId in js's jsonrpc interfaces

* Change return type for eth_chainId to `Option<u64>`

* Change name eth_chainId to parity_chainId

* Wrong test name and missed var for rpc_parity_chain_id test

* Use U256 to return chainId and fix for master

u64 returns decimal integer, and there seems to be no type called
U64. So here I use U256 to return the hex integer.

* Fix chainID test

Before EIP155 fork number, chainID should be null.

* Change both parity_chainId and transaction::chainId to use U64

This makes it consistent that all chain ids returned are hex string.

* Fix wrong U64 serialization
2017-09-26 14:17:07 +02:00
Tomasz Drwięga
59d946bf00 Debounce sync status. (#6572) 2017-09-26 13:05:41 +02:00
GitLab Build Bot
6840df4c09 [ci skip] js-precompiled 20170926-093714 2017-09-26 09:43:21 +00:00
Maciej Hirsz
04e36456bd Merge pull request #6588 from paritytech/mh-pubnode-hardware-wallets
[Public Node] Disable tx scheduling and hardware wallets
2017-09-26 10:37:47 +02:00
maciejhirsz
0e43ce6e07 Disable time conditions in Tx UI #6445 2017-09-25 17:08:09 +02:00
GitLab Build Bot
f576926fa2 [ci skip] js-precompiled 20170925-101032 2017-09-25 10:15:30 +00:00
maciejhirsz
339f63a61a Fix :NaN port returned by dappsUrl 2017-09-22 13:48:09 +02:00
maciejhirsz
1b7c90e9e1 Remove public node hacks 2017-09-21 16:52:00 +02:00
Nicolas Gotchac
2b39c43e81 Fix number of confirmations for transaction (#6552)
* 1 confirmation when tx is mined

* Spelling mistake
2017-09-21 10:10:21 +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
GitLab Build Bot
65ca9afce2 [ci skip] js-precompiled 20170920-093438 2017-09-20 09:39:32 +00:00
Jaco Greeff
99e981abcf Fix failing hardware tests (#6553) 2017-09-20 10:43:14 +02:00
Nicolas Gotchac
8a21cde188 Required validators >= num owners (#6551) 2017-09-19 11:58:04 +02:00
Tomasz Drwięga
b602fb4a5e Fix extension detection (#6452)
* Fix extension detection.

* Fix mobx quirks.

* Update submodule.
2017-09-15 15:06:42 +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
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
GitLab Build Bot
e5bbabb2ba [ci skip] js-precompiled 20170905-115347 2017-09-05 11:58:41 +00:00
Nicolas Gotchac
a62238c19d Add language selector in production (#6317)
* Add language selector in PRODUCTIN

* Fix wrong i18n keys

* Update the default i18n files
2017-09-05 12:26:29 +01: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
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
GitLab Build Bot
b6024adf85 [ci skip] js-precompiled 20170825-090654 2017-08-25 09:11:39 +00:00
Jon Choi
5b6d47aeef Infoline less opaque for UI/visibility (#6364) 2017-08-25 16:31:48 +08:00
Tomasz Drwięga
73644adf69
Rename network_id to chain_id where applicable. 2017-08-21 14:23:10 +02:00
GitLab Build Bot
f3e7d7c725 [ci skip] js-precompiled 20170821-094253 2017-08-21 09:48:30 +00:00
Marek Kotewicz
e8841ae9e2 Merge pull request #6331 from paritytech/fix-startup-wizard
Better check the created accounts before showing Startup Wizard
2017-08-21 10:44:54 +02:00
GitLab Build Bot
2c0a1b652c [ci skip] js-precompiled 20170818-143526 2017-08-18 14:40:04 +00:00
Tomasz Drwięga
cd0c77dc5c Ignore errors from dappsUrl when starting UI. (#6296)
* Ignore errors from dappsUrl when starting UI.

* Fix linter.
2017-08-18 15:51:52 +02:00
Nicolas Gotchac
444233bd1b Better check the created accounts before showing Startup Wizard 2017-08-18 15:28:41 +02:00
GitLab Build Bot
d115006597 [ci skip] js-precompiled 20170813-184308 2017-08-13 18:48:32 +00:00
Tomasz Drwięga
10068cee72 Extension fixes (#6284)
* Fix token symbols in extension.

* Allow connections from firefox extension.
2017-08-13 17:41:50 +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
Tomasz Drwięga
604ea5d684 Time should not contribue to overall status. (#6276) 2017-08-10 18:48:03 +02:00
GitLab Build Bot
ecd880c8e7 [ci skip] js-precompiled 20170810-101054 2017-08-10 10:16:01 +00:00
Tomasz Drwięga
30be0972b9 Add warning to web browser and fix links. (#6232) 2017-08-10 11:16:02 +02:00
GitLab Build Bot
b21932687a [ci skip] js-precompiled 20170809-182421 2017-08-09 18:29:28 +00:00
Björn Wagner
e128285a77 Replace 'home.parity' with 'parity.web3.site' (#4771) 2017-08-09 19:07:15 +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
Nicolas Gotchac
d6eb053826 Add support for ConsenSys multisig wallet (#6153)
* First draft of ConsenSys wallet

* Fix transfer store // WIP Consensys Wallet

* Rename walletABI JSON file

* Fix linting

* Fix wrong daylimit in wallet modal

* Confirm/Revoke ConsensysWallet txs

* Linting

* Change of settings for the Multisig Wallet
2017-08-09 19:06:14 +02:00
GitLab Build Bot
67ccfa1da1 [ci skip] js-precompiled 20170807-093816 2017-08-07 09:43:01 +00:00
Marek Kotewicz
bdeea80032 Merge pull request #6248 from paritytech/tiny_keccak_up
updated tiny-keccak to 1.3
2017-08-07 10:58:36 +02:00
debris
455ecf700c updated tiny-keccak to 1.3 2017-08-07 10:06:02 +02:00
GitLab Build Bot
82f90085ee [ci skip] js-precompiled 20170807-004826 2017-08-07 00:53:11 +00:00
Pieter Vander Vennet
ee07bf29ce Fixed typo (s/seems is/seems) 2017-08-06 18:33:54 +02:00
GitLab Build Bot
191f409741 [ci skip] js-precompiled 20170801-155944 2017-08-01 16:06:06 +00:00
debris
a2c05123fd Merge branch 'master' into split 2017-08-01 14:24:47 +02:00
GitLab Build Bot
a6891e9f9f [ci skip] js-precompiled 20170731-215156 2017-07-31 21:57:18 +00:00
debris
3c7ba5045d Merge branch 'master' into split 2017-07-31 19:40:33 +02:00