Commit Graph
98 Commits
Author SHA1 Message Date
Guillaume Ballet 3b0f3483c4 .github: remove 'nonsense' from CODEOWNERS (#20329) 2019-11-19 17:13:42 +01:00
Guillaume Ballet 0b6338321f travis: deactivate arm build during push (#20321) 2019-11-19 13:57:05 +01:00
Guillaume Ballet b02afb6b3d travis: use travis_wait for both install and build (#20309) 2019-11-18 15:34:17 +01:00
Guillaume Ballet 11d09fd3ba travis: remove traces and use travis_wait in ARM build (#20296)
* travis: remove debug traces

* travis: Add travis_wait to the test run

* travis: increase travis_wait time
2019-11-18 10:52:12 +02:00
Guillaume Ballet 49d1a032da build: gather info to investigate why builds fail on ARM (#20281) 2019-11-14 14:42:23 +01:00
Guillaume Ballet 765fe446cf whisper/whisperv6: fix staticcheck issues (#20288) 2019-11-14 10:09:16 +01:00
Guillaume Ballet 22e3bbbf0a miner: increase worker test timeout (#20268)
TestEmptyWork* occasionally fails due to timeout. Increase the timeout.
2019-11-13 12:40:50 +01:00
Guillaume Ballet de2259d27c travis: enable test suite on ARM64 (#20219)
* travis: Enable ARM support

* Include fixes from 20039

* Add a trace to debug the invalid lookup issue

* Try increasing the timeout to see if the arm test passes

* Investigate the resolver issue

* Increase arm64 timeout for clique test

* increase timeout in tests for arm64

* Only test the failing tests

* Review feedback: don't export epsilon

* Remove investigation tricks+include fjl's feeback

* Revert the retry ahead of using the mock resolver

* Fix rebase errors
2019-11-08 10:58:57 +02:00
Guillaume Ballet 72617a0742 consensus: fix possessives in comments. (#20209) 2019-10-28 09:57:34 +02:00
Guillaume Ballet 9466b9eec5 signer/core: fix reference issue in key derivation (#19827)
* signer/core: fix reference issue in key derivation

* Review feedback
2019-07-18 15:17:32 +03:00
Guillaume Ballet 5bc9ccfa0a accounts/abi/bind: link dependent libs in deploy (#19718)
* accounts, abigen: link dependent libs in deploy

* abigen: add java generation

* bind: Fix unit tests

* abigen: add unit test

* Fix CI

* Post-rebase fixes

* Fix rebase issue

* accounts/abi: Gary's review feedback

* accounts/abi: More Gary feedback

* accounts/abi: minor fixes
2019-07-08 10:27:05 +02:00
Guillaume Ballet dcc4adfcd7 cmd/geth: wrong memory size sanitizing on OpenBSD (#19793) 2019-07-05 13:13:21 +03:00
Guillaume Ballet d9c75cd10e accounts/abi/bind: fix typo in comments (#19791) 2019-07-04 10:00:34 +02:00
Guillaume Ballet 8d2cf028a5 vendor: update karalabe/usb to fix CGO=0 builds (#19790) 2019-07-03 18:22:27 +03:00
Guillaume Ballet 6bf5555c4f accounts/abi/bind: Accept function ptr parameter (#19755)
* accounts/abi/bind: Accept function ptr parameter

They are translated as [24]byte

* Add Java template version

* accounts/abi/bind: fix merge issue

* Fix CI
2019-07-02 09:52:58 +02:00
Guillaume Ballet 54fd263b40 whisper: PoW calculations as specified in EIP-627 (#19753)
* whisper: PoW calculations as specified in EIP-627

* Fix unit tests
2019-06-25 12:01:34 +02:00
Guillaume Ballet 2b303e7d62 clef: fix stutter in warning message (#19736) 2019-06-19 11:43:04 +02:00
Guillaume Ballet 1b15c6da33 accounts/scwallet: Disable macos support (#19679) 2019-06-07 12:41:54 +03:00
Guillaume Ballet b8ca3cb7d2 cmd/clef: enable smartcard hub (#19649)
* cmd/clef: Enable smartcard hub

* clef: don't error is pcsc is not installed
2019-06-05 15:27:37 +02:00
Guillaume Ballet d97f0372b1 accounts/scwallet: don't error when pcsc socket is missing (#19662)
* scwallet: don't error when pcsc socket is missing

* review feedback

* more review feedback
2019-06-04 18:40:34 +03:00
Guillaume Ballet 4799b5abd4 accounts/usbwallet: support webusb for Trezor wallets 2019-06-03 16:08:03 +03:00
Guillaume Ballet 7a22da98b9 accounts/scwallet: flag to specify path to smartcard daemon (#19439)
* accounts/scwallet: Add a switch to enable smartcard support

* accounts: change the meaning of the switch

* disable card support in windows until tested
* only activate account if pcscd socket file is present
* the switch is now the path to the socket file

* accounts/scwallet: holiman's review feedback

* accounts/scwallet: send the path to go-pcsclite

* accounts/scwallet: add default, per platform path

* accounts/scwallet: fix error log warning

* accounts/scwallet: update pcsc lib to latest

* accounts/scwallet: use default path from pcsclite

* scwallet: forgot to change switch name

* cmd: minor style cleanups (error handling first, then happy path)
2019-05-31 12:30:28 +03:00
Guillaume Ballet 048df258dc accounts/scwallet: change sc url scheme to keycard (#19632) 2019-05-28 19:47:53 +03:00
Guillaume Ballet 75a860880c accounts/scwallet: display PUK retry count, validate PIN/PUK length 2019-05-27 17:29:01 +03:00
Guillaume Ballet 9b831d74fb accounts/usbwallet: fix a comment typo in trezor driver (#19535) 2019-05-07 19:22:24 +03:00
Guillaume Ballet 29bba5d0b2 p2p: fix typo in dialstate comment (#19476) 2019-04-18 10:02:11 +03:00
Guillaume Ballet a1c5017bc5 accounts/scwallet: fix card pairing instruction message (#19436) 2019-04-10 13:46:35 +03:00
Guillaume Ballet f0b878d56d accounts/scwallet: Update README for v2.2.1 support (#19425)
Update the app download link to the latest version, as requested in #19418
2019-04-10 10:51:45 +02:00
Guillaume Ballet cf1a6d7c56 vendor: upgrade go-libpcsclite (#19420)
* vendor: remove leftover trace

* Upgrade go-libpcsclite to the latest version
2019-04-09 23:40:53 +03:00
Guillaume Ballet 1fc3e44ffe accounts:smartcard wallet without the dependency on libpcsclite (#19273)
* accounts, core, internal, node: Add support for smartcard wallets

* accounts, internal: Changes in response to review

* vendor: pull in missing go-echd library

* accounts/scwallet, console: user friendly card opening

* accounts/scwallet: ordered wallets, tighter events, derivation logs

* accounts, console: frendly card errors, support pin unblock

* accounts/scwallet: fix crypto API change

* accounts/scwallet: rebase and update

* Fix some linter issues

* Remove the direct dependency on libpcsclite

Instead, use a go library that communicates with pcscd over a socket.

Also update the changes introduced by @gravityblast since this PR's
inception

* Temporary fix to the ADBU status call

* fix wallet status update

This is a temporary fix, better checks need to
be performed once the whole process has been
validated.

* Fix key derivation

* Add some documentation

* Update a comment to reflect the workings of the updated system

* Vendor keycard-go/derivationpath

* Formatting fixes

* Add instructions on how to install the card

* Achieve full transaction signature+sending

* PK derivation has to be supported by the card

* Fix linter issues

* Upgrade to keycard app v2.1.1

* Set gballet as codeowner of the smartcard wallet dir

* fix unnecessary condition linter warning

* refuse to overwrite the master key of a previously initialized card

* refresh the account list when initializing the card

* Update the card preparation instructions based on review feedback

* 'sanitize' JSON input

Co-Authored-By: gballet <gballet@gmail.com>

* Apply suggestions from code review

Co-Authored-By: gballet <gballet@gmail.com>

* fix a serialization error

* more review feedback

* More review feedback

* Can now specify the number of empty accounts to derive

* Fix rebase error: include norm package

* Update bip-39 ref and remove ebfe/scard from vendor

* Add missing dependency
2019-04-09 11:53:58 +02:00
Guillaume Ballet 7c28ecbcc3 Add missing dependency 2019-04-09 08:52:25 +02:00
Guillaume Ballet 86806d8b24 Update bip-39 ref and remove ebfe/scard from vendor 2019-04-08 19:16:27 +02:00
Guillaume Ballet 8ee5bb2289 Fix rebase error: include norm package 2019-04-08 14:17:29 +02:00
Guillaume Ballet 5b30aa59d6 Can now specify the number of empty accounts to derive 2019-04-08 13:21:22 +02:00
Guillaume Ballet 6f21520a82 More review feedback 2019-04-08 13:21:22 +02:00
Guillaume Ballet fc3000d649 more review feedback 2019-04-08 13:21:22 +02:00
Guillaume Ballet d2daff4258 fix a serialization error 2019-04-08 13:21:22 +02:00
Guillaume Ballet 3b3e1bc07e Update the card preparation instructions based on review feedback 2019-04-08 13:21:22 +02:00
Guillaume Ballet 8c786a1f99 refresh the account list when initializing the card 2019-04-08 13:21:22 +02:00
Guillaume Ballet 79f4cfac2e refuse to overwrite the master key of a previously initialized card 2019-04-08 13:21:22 +02:00
Guillaume Ballet 1d1bee528e fix unnecessary condition linter warning 2019-04-08 13:21:22 +02:00
Guillaume Ballet 28c8f41b90 Set gballet as codeowner of the smartcard wallet dir 2019-04-08 13:21:22 +02:00
Guillaume Ballet 714675cd2a Upgrade to keycard app v2.1.1 2019-04-08 13:21:22 +02:00
Guillaume Ballet 35b80f1865 Fix linter issues 2019-04-08 13:21:22 +02:00
Guillaume Ballet bcf3c52ac9 PK derivation has to be supported by the card 2019-04-08 13:21:22 +02:00
Guillaume Ballet 2625057fe3 Achieve full transaction signature+sending 2019-04-08 13:21:22 +02:00
Guillaume Ballet 189a032987 Add instructions on how to install the card 2019-04-08 13:21:22 +02:00
Guillaume Ballet ec4fba83d4 Formatting fixes 2019-04-08 13:21:22 +02:00
Guillaume Ballet 0a0b93708d Vendor keycard-go/derivationpath 2019-04-08 13:21:22 +02:00
Guillaume Ballet 21b01f590d Update a comment to reflect the workings of the updated system 2019-04-08 13:21:22 +02:00
Guillaume Ballet 9b66a8520a Add some documentation 2019-04-08 13:21:22 +02:00
Guillaume Ballet e273031dce Fix key derivation 2019-04-08 13:21:22 +02:00
Guillaume Ballet 7ec6fa03d3 fix wallet status update
This is a temporary fix, better checks need to
be performed once the whole process has been
validated.
2019-04-08 13:21:22 +02:00
Guillaume Ballet 42c76a2ba1 Temporary fix to the ADBU status call 2019-04-08 13:21:22 +02:00
Guillaume Ballet 5617dca1c9 Remove the direct dependency on libpcsclite
Instead, use a go library that communicates with pcscd over a socket.

Also update the changes introduced by @gravityblast since this PR's
inception
2019-04-08 13:21:22 +02:00
Guillaume Ballet ae82c58631 Fix some linter issues 2019-04-08 13:19:37 +02:00
Guillaume Ballet 7b230b7ef1 accounts/scwallet: rebase and update 2019-04-08 13:19:37 +02:00
Guillaume Ballet df717abc99 whisper/whisperv6: fix PoW calculations to match the spec (#19330)
This PR fixes two issues in the PoW calculation of a Whisper envelope,
compared to the spec (see PoW Requirements):

- The pow is supposed to take the leading number of zeroes (i.e. most
  significant zeroes) and what it did was to take the number of trailing
  zeroes (i.e. least significant zeroes). It has been fixed to match what
  the spec and Parity does.
- The spec expects to use the size of the RLP encoded envelope, and it took
  something else, as described in #18070.
2019-03-26 10:23:59 +01:00
Guillaume Ballet 04a4a23c2d graphql: make gballet codeowner for review notifications (#19251) 2019-03-12 08:42:01 +01:00
Guillaume Ballet 729bf365b5 whisper: Remove v5 (#18432) 2019-03-01 12:36:41 +01:00
Guillaume Ballet 9c7e65c435 accounts: fix typos from the SignData merge (#19119) 2019-02-19 10:33:42 +02:00
Guillaume Ballet 115b1c38ac accounts/abi: Add tests for reflection ahead of refactor (#18434) 2019-01-15 16:45:52 +01:00
Guillaume Balletandweimumu 38cce9ac33 accounts/abi: Extra slice tests (#18424)
Co-authored-by: weimumu <934657014@qq.com>
2019-01-10 16:27:54 +01:00
Guillaume Ballet 9bfd0b60cc accounts/abi: fix case of generated java functions (#18372) 2019-01-02 10:22:10 +01:00
Guillaume Ballet aebf9e2fe7 .github: add @gballet as abi codeowner (#18306) 2018-12-14 15:05:22 +01:00
Guillaume Ballet 5d80a1b665 whisper/mailserver: reduce the max number of opened files (#18142)
This should reduce the occurences of travis failures on MacOS

Also fix some linter warnings
2018-11-20 20:14:37 +01:00
Guillaume Ballet 97b2806686 core/asm: Use hexadecimal addresses in assembly dumps (#17870) 2018-10-09 10:27:07 +03:00
Guillaume Ballet da29332c5f core/vm: add switches to select evm+ewasm interpreters (#17687)
Interpreter initialization is left to the PRs implementing them.
Options for external interpreters are passed after a colon in the
`--vm.ewasm` and `--vm.evm` switches.
2018-09-20 10:44:35 +03:00
Guillaume Ballet 7abedf9bbb core/vm: support for multiple interpreters (#17093)
- Define an Interpreter interface
- One contract can call contracts from other interpreter types.
- Pass the interpreter to the operands instead of the evm.
  This is meant to prevent type assertions in operands.
2018-07-25 08:56:39 -04:00
Guillaume Ballet 4e5d1f1c39 core/vm: reuse bigint pools across transactions (#17070)
* core/vm: A pool for int pools

* core/vm: fix rebase issue

* core/vm: push leftover stack items after execution, not before
2018-07-03 13:06:42 +03:00
Guillaume Ballet 598f786aab core/vm: clear linter warnings (#17057)
* core/vm: clear linter warnings

* core/vm: review input

* core/vm.go: revert lint in noop as per request
2018-06-26 15:56:25 +03:00
Guillaume Ballet 9e4f96a1a6 whisper: re-insert #16757 that has been lost during a merge (#16889) 2018-06-05 16:25:16 +02:00
Guillaume Ballet 247b5f0369 accounts/abi: allow abi: tags when unpacking structs
Go code users can now tag event struct members with `abi:` to specify in what fields the event will be de-serialized.

See PR #16648 for details.
2018-05-14 14:47:31 +02:00
Guillaume Ballet 80449719bd whisper: fix issue in topic list copy (#16381)
- Fixes #16271. What was appeneded was a pointer to
an object that changes during the iteration.
- The topic is allocated as a 4-byte array, fill partial topics
with 0s. Partial topics are currently disabled, but would
crash as they rely on the presence of byte number 3.
2018-03-27 17:26:08 +02:00
Guillaume Ballet cf799e5eaa whisper: switch all remaining components from v5 to v6 2018-03-26 16:36:14 +02:00
Guillaume Ballet 3d013c1939 whisper: some components are still using v5, switch to v6 2018-03-22 15:48:52 +01:00
Guillaume Ballet 0965761a45 whisper: Notify Vlad and Guillaume of whisper PRs (#16340) 2018-03-19 22:27:46 +09:00
Guillaume Ballet abed63c38f Merge pull request #16250 from gluk256/317-fatalf
whisper: refactoring go-routines workflow

Move the call mailServer.Init() down (to the bottom of the function) because if the function initialize() completes successfully, then it will be followed by mailServer.Close() in shutdown(). The workflow of the corresponding goroutines is clearer now.
2018-03-05 10:49:25 +01:00
Guillaume Ballet 7b1d637098 Merge pull request #16245 from gluk256/311-close-channel
whisper: close the `done` channel in one location
2018-03-04 23:22:26 +01:00
Guillaume Ballet a76e46e3d7 Merge pull request #16223 from gluk256/300-msg-serialiation
whisper: topics replaced by bloom filters in mailserver communication
2018-03-01 20:27:20 +01:00
Guillaume Ballet 9b4e182ce5 Merge pull request #16210 from gluk256/288-filter-optimization
whisper: message filtering optimization

Only run the message through filters who registered their interest.
2018-02-28 17:28:09 +01:00
Guillaume Ballet 52bb0a1ec7 Merge pull request #16214 from b00ris/whisperv6_datarace
whisper: fixed dataraces in peer unit tests
2018-02-28 14:31:19 +01:00
Guillaume Ballet 1843615456 Merge pull request #16206 from gluk256/277-mailserver
whisper: mailserver no longer supports the signature validation

Mailserver is provided as an example, but client validation belongs to the upper layer protocol and
needs not be covered in this example. The check that was previously available hinders the switch
to libp2p so we agreed not to include that check in that example code anymore.
2018-02-28 14:10:08 +01:00
Guillaume Ballet 4c845bdc27 Merge pull request #16198 from gluk256/266-wnode
whisper: refactor wnode to systematically store messages if a directory is provided
2018-02-26 21:23:51 +01:00
Guillaume Ballet 423c8bb1d8 Merge pull request #16176 from gluk256/255-refactoring
whisper: filters no longer get removed after a while
2018-02-23 18:02:51 +01:00
Guillaume Ballet fb5d085234 Merge pull request #16146 from status-im/pombeirp/whisperv6-peer-race-cond-fix
Fix race condition in whisperv6/peer.go
2018-02-23 11:49:47 +01:00
Guillaume Ballet bb5349b154 whisper: Support for v2 has long been discontinued, remove it. (#16153) 2018-02-22 12:25:07 +02:00
Guillaume Ballet 5f9b01a283 whisper: only use the node id as a p2p id, not for sending messages (#16102)
This is in preparation for the switch to libp2p: the ID generated
will be from a private key created with the help of libp2p's crypto
library, while Whisper will still use Go's default crypto libraries
for encrypting its messages. This change removes a conflict.

It shouldn't have any impact as the person receiving emails is
the user, not the node.
2018-02-15 14:43:48 +02:00
Guillaume Ballet 5cf75a30c1 whisper: get wnode to work with v6 (#16051)
The bulk of the issue was to adapt to the new requirement
that a v6 filter has to either contain a symmertric key or
an asymmetric one.

This commits revert one of the fixes that I made to remove
a linter warning: unexporting NewSentMessage. This is not
really a problem as I have a cleanup in the pipe that will
solve this issue.
2018-02-10 15:35:32 +02:00
Guillaume Ballet 806430a252 whisper: improve a log message to analyze a travis issue 2018-02-05 18:18:13 +01:00
Guillaume Ballet dd7a715d73 internal: fix a typo that caused a lint error on travis (#15987) 2018-01-29 15:35:05 +02:00
Guillaume Ballet 367c329b88 whisper: remove linter warnings (#15972)
* whisper: fixes warnings from the code linter

* whisper: more non-API-breaking changes

The remaining lint errors are because of auto-generated
files and one is because an exported function has a non-
exported return type. Changing this would break the API,
and will be part of another commit for easier reversal.

* whisper: un-export NewSentMessage to please the linter

This is an API change, which is why it's in its own commit.
This change was initiated after the linter complained that
the returned type wasn't exported. I chose to un-export
the function instead of exporting the type, because that
type is an implementation detail that I would like to
change in the near future to make the code more
readable and with an increased coverage.

* whisper: update gencodec output after upgrading it to new lint standards
2018-01-26 13:45:10 +02:00
Guillaume Ballet e7610eadfe whisper: sym encryption message padding includes salt (#15631)
Now that the AES salt has been moved to the payload, padding must
be adjusted to hide it, lest an attacker guesses that the packet
uses symmetric encryption.
2017-12-11 12:32:58 +01:00
Guillaume Ballet bf62acf033 whisper/whisperv6: remove Version from the envelope (#15621) 2017-12-08 16:08:56 +01:00
Guillaume Ballet d95962cd5d whisper/whisperv6: remove aesnonce (#15578)
As per EIP-627, the salt for symmetric encryption is now
part of the payload. This commit does that.
2017-12-08 11:40:59 +01:00
Guillaume Ballet 20fe928914 whisper: rename EnvNonce to Nonce in the v6 Envelope (#15579) 2017-12-01 12:50:19 +01:00
Guillaume Ballet 7a045af05b whisper/whisperv5: set filter SymKeyHash on creation (#15165) 2017-10-06 16:04:21 +02:00
Guillaume Ballet 36243c7ed8 internal/web3ext: make whisper v5 methods work (#15111) 2017-10-06 15:53:29 +02:00