201 Commits

Author SHA1 Message Date
Igor Mandrigin
c06d58addd Remove notifications package from go-ethereum. 2018-02-22 11:10:21 +01:00
Alex Kohler
228bda9fb3 Remove //nolint: gas directives from fmt.Fprintf #590 (#656)
Summary:
Filter out gas linter error checks for fmt.Fprintf commands. This required defining a custom linter around gas that additionally included the offending code.

Notes:

Gas format, without piping it through gometalinter, gives output like this:

$ gas -fmt=csv geth/jail/console/console.go
geth/jail/console/console.go,21,Errors unhandled.,LOW,HIGH,"fmt.Fprintf(w, ""%s: %s"", consoleEventName, formatForConsole(fn.ArgumentList))"
Gometalinter, by default, does not grab the line of code when it filters gas errors. To resolve this, I created a wrapper around gas (I wasn't sure what to call this "gas wrapper", I opted for gasv2, open to other names).

The first part of the regular expression was taken directly from gometalinter (see https://github.com/alecthomas/gometalinter/blob/master/linters.go#L236), and I then appended ,\".*\" to additionally grab the line of code of the offending line. Lastly, I excluded ".*Errors unhandled.*fmt.Fprintf.*" to filter out only fmt.Fprintf errors around omitted errors.

Also as a result of this change, gas lint output will now include the offending code.

Closes #590
2018-02-14 19:58:20 +02:00
Adam Babik
24aa1b0f1c add node_peers Prometheus metric 2018-02-13 15:18:29 +01:00
Dmitry Shulyak
6526bace85
Add cmd flag to specify http host of json rpc server (#651) 2018-02-12 16:17:10 +02:00
Dmitry Shulyak
2d964bfe9f Remove async operations from node manager (#584)
The main goal of this change is to remove async operations from node manager.
Additionally all of the signals from node manager are moved to status backend.

All of the async operation now will have the following behaviour:
- If node in the correct state exit immediatly without error
- If node not in the correct state exit immediatly with error
- In all other cases spawn a goroutine with wanted operation
- All the progress regarding that operation will be reported
  by using signals
- Signals should be handled in once place, which is StatusBackend

There are 2 potentially breaking changes:
- Empty event field will be ommited when Envelope is sent to a client
- All errors will be delivered to a client as an Envelope, previously
  some errors (NodeExists, NoRunningNode) were delivered synchronously

Signed-off-by: Dmitry Shulyak <yashulyak@gmail.com>
2018-02-09 14:37:56 +01:00
Adam Babik
9885d74db0 Fix sync-and-exit option logic (#628)
* fix sync-and-exit logic

* fix reading from doneSync channel

* clean up

* make statusd before using it

* move syncAndStopNode to different file

* change log level in travis chain sync command

* do not use fmt but log

* add progress log and set timeout to 20 mins

* set datadir to .ethereumtest

* fix datadir
2018-02-08 10:51:53 +02:00
Caner Çıdam
ca719af71c Sync blockchain before running e2e tests on public testnet #568 (#612) 2018-02-07 11:48:03 +01:00
Adam Babik
c00e5c9c58 Fix command line flags (#623) 2018-02-06 14:53:04 +02:00
Dmitry Shulyak
f90e65820c
Fix linter after ethmetrics were merged (#622) 2018-02-06 13:59:40 +02:00
Dmitry Shulyak
ca5a8f6669 Enable ethereum metrics collection (#616) 2018-02-05 21:25:40 +02:00
Dmitry Shulyak
d699d35107 Make max amount of peers configurable (#611) 2018-02-05 11:12:57 +01:00
Denis Makogon
230e4febb1 Fixing test imports (#593) 2018-02-05 00:07:47 +01:00
Dmitry Shulyak
ecf74e2189 Make whisper nodes reachable from prometheus by sharing a network
Signed-off-by: Dmitry Shulyak <yashulyak@gmail.com>
2018-02-02 15:22:22 +02:00
Adam Babik
89d89681a3
Add support for metrics (#558)
It adds support for metrics (expvar and Prometheus) along with docker-compose files to run a Whisper test cluster.
2018-01-30 12:51:48 +01:00
Adam Babik
e214e1e270
Manage discovery from flags and refactor handling interrupt signals (#557) 2018-01-22 21:16:13 -08:00
Ivan Daniluk
ea55ac0744
Cleanup after merging wnode-status and statusd (#554) 2018-01-17 22:40:14 +01:00
phcurtis
5a5c5d3a5c Merge wnode-status into statusd (#549) (#550) 2018-01-17 21:07:45 +01:00
F. Eugene Aumson
83763e0401 Make gas linter happy (#544) 2018-01-17 17:46:21 +01:00
Adam Babik
da4c0d1db9 Update Dockerfile (#521) 2018-01-03 20:50:19 +02:00
Evgeny Danilenko
919ab285d3 add password for MailServer encryption (#494) 2017-12-07 17:58:11 +01:00
Evgeny Danilenko
596b7ea2e1 whisper standalone mode (#498) 2017-12-07 13:07:45 +01:00
Adam Babik
ac76e4731f
Prepare wnode-status to support MailServer (#477) 2017-12-04 17:11:14 +01:00
Frank Mueller
bddf15d74f Add internal RPC server and statusd-cli client (#463) 2017-12-02 19:51:55 +01:00
perissology
f0beeb3829 fix failing tests in PRs from other repos, fixes #459 (#461)
Fix failing tests for users w/o access to the ACCOUNT_PASSWORD env variable. Disable e2e public network tests in Travis pull requests. Exclude lib dir from unit tests.
2017-11-20 10:21:30 -08:00
Ivan Daniluk
4536e99275 Improve statusd CLI usage (#441)
This PR refactors CLI API, removes obsolete commands and splits status code into smaller pieces:

* get rid of subcommands API (no ./status <command>)
* get rid of custom cli app package
* use stdlib flag package for handling command line flags
* move cross-compilation / mobile related code to lib/ package
* move wnode command into separate binary (cmd/node-status, name is subject to discuss)
* remove faucet command as obsolete
* update/add docs/READMES/wikis for new command line flags

It makes statusd code much simpler and smaller, separates concerns (lib, wnode and statusd are different things).
2017-11-03 18:07:13 -04:00
Ivan Tomilov
2897f0ec0f Merge pull request #390 from status-im/issue/refactor-api-notify-send-messages-#342
Refactor and little bit clean up Notify api:

Created interface and package "notification" and extracted related code into it
Set dependencies into constructor notificatotion.Manager
Mocks for notificatotion.Manager and FCMClient
Bacis unit tests for Notify and Send
Notify func is now deprecated
Notify users uses new API: message, Payload and a list of tokens
2017-10-26 20:54:12 +03:00
Adam Babik
8cbd7ed1c4 fix linter across the whole project 2017-10-26 12:20:16 +02:00
Ivan Tomilov
96212b912c Fixed make lint (goimports) 2017-10-24 19:54:13 +03:00
Ivan Tomilov
f80827dc1f Feature/integrate linters into ci#387 (#427)
Solves #387 linters was integrated into ci
Added inergration linters to CI
Important changes:
- new linter warnings was fixed
- extracted linters targets into separated mk file
2017-10-24 19:36:52 +03:00
Evgeny Danienko
0e72e3d6b4
Update notify interface and mark old one as deprecated 2017-10-24 00:47:09 +03:00
Frank Mueller
e14b2331eb Made EnsureNodeSync() throws a panic instead of returning an error (#431)
EnsureNodeSync() has been changed to return no error anymore, Instead in case of an internal error or a timeout a panic is thrown.
2017-10-24 00:39:13 +03:00
Ivan Tomilov
c500fbc423 Made all tests run on StatusChain instead of Rinkeby or Ropsten (#426)
The reason is that we don't currently have a possibility to run tests on public testnets without compromising accounts and funds on them.
2017-10-23 14:05:52 +03:00
b00ris
1de852134b
fix linters warnings 2017-10-23 13:41:41 +03:00
Evgeny Danienko
d22cdc5cbb
NotifyResult doesnt return error field if success 2017-10-22 20:39:57 +03:00
Evgeny Danienko
f159ea85a0
References for marshal library responces removed 2017-10-22 20:39:57 +03:00
Eugene
42cb6446b9
Return error for notify 2017-10-22 20:39:56 +03:00
Frank Mueller
1c8d32c451 Ensuring node synchronisation to avoid "no suitable peers available" errors (#410)
During CI tests non-deterministic failures with "no suitable peers available" happened. Reason is a not finished synchronisation after starting of node.

Added and integrated an EnsureSychronization() almost solved it, but overlapped with new added EnsureNodeSync() in merged develop. Failure stayed, so exchange new algorithm in EsureNodeSync() with former one.
2017-10-21 20:04:07 +03:00
b00ris
e911666b5d Fix make lint warnings (#417)
fixed make lint warnings
cleared linter_exclude_list.txt
removed some commented code
fixed comments from #388
2017-10-20 12:06:22 +03:00
Ewetumo Alexander
2159711fa3 Refactoring/blockchain sync#246 (#271)
PR adds a new API changes to the NodeManager to provide simple methods to validate the completed synchonization of the blockchain.
2017-10-17 01:36:36 +03:00
Adam Babik
281b304edb Extract e2e tests to a separate package (#375)
This change moves our e2e tests into a separate package to make room for proper unit and integration tests.

This is Phase 1 described in #371.

Changes:

Makefile has separate directives to run unit/integration tests and e2e tests,
CI runs unit/integration tests first and then e2e tests,
E2e tests are in reliability order, i.e. the least reliable tests are run in the end to be sure that nothing else is broken,
Some tests are fixed or quarantined.
2017-10-11 17:20:51 +03:00
Ivan Daniluk
9cc5fd2112 Move transaction queue code into separate package (#365) 2017-09-27 02:50:41 +02:00
Ivan Daniluk
93492cf606 Move accounts to separate package (#360) 2017-09-26 15:44:26 +02:00
Ivan Daniluk
2acf1a1a6a Refactor/signals package (#359)
Move signals code to the separate package.
2017-09-25 20:22:57 +02:00
Oskar Thorén
f88de68f86 Push notifications: ability to trigger notifications via public API (#327)
This PR provides a way for status-react to trigger push notifications to contacts whose FCMToken they possess. It thus solves the basic user story as outlined in #326
2017-09-15 18:57:34 +03:00
Marin
4fb0faa061 Small NodeManager refactoring (#253)
Introduced `isNodeAvailable()`.
2017-09-11 17:07:35 +03:00
Ivan Tomilov
c85525e139 Extended testGetDefaultConfig to support Rinkeby (#241)
This pull requests only extends testGetDefaultConfig to run against Rinkeby as well and fixes TestJailWhisper.
2017-09-08 15:32:02 +03:00
Adam Babik
8fb2424ea5 Port the transactions queue from go-ethereum to status-go (#261)
Now all transactions in both cases are waiting for CompleteTransaction or DiscardTransaction to proceed independently from their destination: upstream of local
2017-09-04 15:56:58 +03:00
Ivan Daniluk
0c4603d825 Add file logger support (#269) 2017-09-02 01:44:50 +07:00
Marin
97bba3d835 Feature/profiling #257 (#264) 2017-09-01 21:09:11 +07:00
Ivan Daniluk
4321f9b2e5 Fix log levels and enable ethereum-go logger (#256) 2017-08-24 15:50:16 +07:00