Commit Graph

171 Commits

Author SHA1 Message Date
Adam Babik 3dbcb6a19e
Initialize keystore in statusd (#1592)
This reverts commit 0b403ce25b because otherwise the CI fails.
2019-08-31 16:55:05 +02:00
dmitry 0b403ce25b Pin gomobile to latest working commit 2019-08-28 17:38:58 +03:00
Dmitry Shulyak be9c55bc16
Accounts data management (#1530)
* WIP accounts implementation

* Accounts datasore and changes to status mobile API

* Add library changes and method to update config

* Handle error after account selection

* Add two methods to start account to backend

* Use encrypted database for settings and add a service for them

* Resolve linter warning

* Bring back StartNode StopNode for tests

* Add sub accounts and get/save api

* Changes to accounts structure

* Login use root address and fetch necessary info from database

* Cover accounts store with tests

* Refactor in progress

* Initialize status keystore instance before starting ethereum node

* Rework library tests

* Resolve failures in private api test and send transaction test

* Pass pointer to initialized config to unmarshal

* Use multiaccounts/accounts naming consistently

Multiaccount is used as a login identifier
Account references an address and a key, if account is not watch-only.

* Add login timestamp stored in the database to accounts.Account object

* Add photo-path field for multiaccount struct

* Add multiaccoutns rpc with updateAccount method

Update to any other account that wasn't used for login will return an error

* Fix linter in services/accounts

* Select account before starting a node

* Save list of accounts on first login

* Pass account manager to accounts service to avoid selecting account before starting a node

* Add logs to login with save and regualr login
2019-08-20 18:38:40 +03:00
Jakub Sokołowski 652d8a67b6 use out for output, use CGO_ENABLED=1 and GO111MODULE=off for Android and iOS (#1574) 2019-08-20 09:05:15 +02:00
Andrea Maria Piana cb769ccca9 Revert "Initialize status keystore instance before starting ethereum node"
This reverts commit 476240fbd1.
2019-08-05 16:03:18 +02:00
Dmitry 476240fbd1 Initialize status keystore instance before starting ethereum node 2019-08-01 11:01:02 +03:00
Jakub Sokołowski 5f763439cb add a check for already existing release tag
also run cleanup in post-always Jenkinsfile block

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-07-30 09:26:34 -04:00
Adam Babik e93d994460 integrate status-protocol-go 2019-07-24 18:46:43 +02:00
Adam Babik e28d4ef1a3
Create messaging package and move some packages into it (#1505) 2019-06-26 20:17:41 +02:00
Andrea Maria Piana 1aa3e2812a Add support for partitioned topic 2019-06-19 17:38:45 +02:00
Andrea Maria Piana cef7f367ab Add topic negotiation
This commit add topic negotiation to the protocol.

On receiving a message from a client with version >= 1, we will generate
a shared key using Diffie-Hellman. We will record also which
installationID has sent us a message.

This key will be passed back to the above layer, which will then use to
start listening to a whisper topic (the `chat` namespace has no
knowledge of whisper).

When sending a message to a set of InstallationIDs, we check whether we
have agreed on a topic with all of them, and if so, we will send on this
separate topic, otherwise we fallback on discovery.

This change is backward compatible, as long as there is no downgrade of
the app on the other side.

A few changes:

* Factored out the DB in a separate namespace as now it is
being used by multiple services (TopicService and EncryptionService).

* Factored out multidevice management in a separate namespace

* Moved all the test to test the whole protoocl rather than just the encryption service

* Moved all the filter management in status-go
2019-06-19 17:38:45 +02:00
Dmitry Shulyak 804a109b26
Set BINARY variable for golangci-lint.sh (#1493)
* Set BINARY variable for golangci-lint.sh

* Set higher deadline for linter
2019-06-13 13:24:28 +03:00
Adam Babik 1c33220834 update linter 2019-06-12 13:12:00 +02:00
Adam Babik c9e99c432d migrate to go 1.12 and go modules 2019-06-12 13:12:00 +02:00
Andrea Maria Piana 4ab08629f6 Add postgres
This commits adds support for postgres database.
Currently two fields are stored: the bloom filter and the topic.
Only the bloom filter is actually used to query, but potentially we will
use also the topic in the future, so easier to separate it now in order
to avoid a migration.
2019-05-15 11:01:34 +02:00
Igor Mandrigin 4c1f96d255
Implement subscription for eth and shh filters using signals. (#1455) 2019-05-07 09:05:38 +02:00
Dmitry Shulyak 442a12e996
Removing discovery-proxy from sources (#1445)
It was going to be used as proxy from discv5 to rendezvous for les nodes.
We are not using it at the moment, and not clear when we will be using it
and if we are going to use it all.

Additionally it has some memory leaks that need to be fixed, so it is better
to remove it for now and restore once/if we will need it again.
2019-04-18 10:39:55 +03:00
Jakub 2c0c0fff24 fix release builds (#1440)
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-04-15 11:57:06 +02:00
Jakub Sokołowski 2af27dc6b3 build regular linux binary with xgo for uploading to GitHub
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-04-14 18:14:02 +02:00
Jakub Sokołowski d38a07f679 add Jenkinsfile.docker for pushing new images
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-03-26 09:14:56 +01:00
Jakub Sokołowski a4453a2471 forgot to update main README with link to instructions
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-03-25 09:47:16 +01:00
Adam Babik c3b0644bbc
prefix git tag with 'v' (#1418) 2019-03-18 09:14:21 +01:00
Dmitry 9441f798bb Remove mock step from ci pipeline 2019-03-15 08:14:53 +02:00
Igor Mandrigin 0282f481bf
Fix `admin_nodeInfo` to provide the correct version again (#1394) 2019-02-25 17:23:30 +01:00
Jakub 0238d84924 declare all parameters, fix names of files on release (#1392)
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-02-25 15:59:12 +01:00
Jakub Sokołowski 51ff6395b8 fix env variables pointing at android ndk for gomobile
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-02-25 12:45:06 +01:00
Jakub Sokołowski c26cfb0468 add a docker-compose.yml and Makefile for running a mailserver
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-02-13 18:05:39 +01:00
Jakub Sokołowski de269e5830 add build status notifications like in status-react
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-02-11 17:16:21 +01:00
Ivan Daniluk 4f3f5ee574 Gomobile support (#1164) 2019-02-01 18:02:52 +01:00
Adam Babik 74cb16c456
add SyncMessages method to shhext api (#1309) 2018-12-14 12:21:34 +01:00
Adam Babik 2f65dd58f9
Enable metrics by default and pass build flags to statusgo-library (#1320) 2018-12-14 12:16:45 +01:00
Jakub Sokołowski 7d651afaae add desktop build step
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2018-12-11 09:30:35 +01:00
Adam Babik db691fd763
fix golang/mock (#1310) 2018-12-10 13:53:27 +01:00
Rob Culliton 3657b8b057
change echo message for linux compilation (#1307) 2018-12-07 08:35:05 -05:00
Adam Babik e658366d1e
Improve Makefile (#1275)
* change docker image tag to RELEASE_TAG
* use changelog in release
2018-11-20 11:13:42 +01:00
Pedro Pombeiro 92748f1334 Add `canary-test` make target to test beta fleet mailservers. Closes #1274 2018-11-19 19:02:32 +01:00
Adam Babik 52a1bdfed6
Upgrade geth 1.8.17 plus add metrics during compilation time (#1273)
This commit updates geth to 1.8.17 and adds a possibility to enable metrics during compilation time.

The cascade of issues forced us to upgrade geth to 1.8.17 in order to allow enabling metrics during compilation time. 1.8.17 introduced `NodeID` refactoring and `enode` package which affected our peers pool and integration with Discovery V5.
2018-11-14 08:03:58 +01:00
Andrea Maria Piana 58bd36e79e
Automate github releases (#1263) 2018-11-05 15:02:16 +01:00
Adam Babik b71058d73f
update golangci to 1.10.2 (#1246) 2018-10-17 12:17:58 +02:00
Adam Babik ac8da3c0f0
Use patched go-ethereum from our fork instead of patching it on-the-fly (#1184)
* update to 1.8.16
2018-09-27 21:16:15 +02:00
Pedro Pombeiro 6a1cd7f2b0
Fix xgo creating files as `root` (#1210) 2018-09-24 22:21:13 +02:00
Andrea Maria Piana dcaf8caed0
Add x3dh key exchange (#1127)
* Add x3dh key exchange

* Encrypt using the double ratchet

* Multi device with auto-pairing

* Add pfs enabled flag
2018-09-24 20:07:34 +02:00
Pedro Pombeiro 518234803a
Add support for testing static nodes to node-canary. Closes #1202 (#1203) 2018-09-20 13:25:32 +02:00
Pedro Pombeiro 4e7ae20eae
Add script to update fleets static JSON. Closes #1188 (#1189) 2018-09-14 10:46:34 +02:00
Pedro Pombeiro 3d00af7fa3
Streamline configuration in status-go. Part of #1180 (#1183)
- Replace command line flags with `-c` config flag. Part of #1180
- Convert node config private keys to hex-encoded string versions.
- Remove `GenerateConfig` from library.
- Remove unused `FirebaseConfig` from library.
- Fix loading of `config/status-chain-genesis.json` in non-dev machines.
2018-09-13 18:31:29 +02:00
Adam Babik e8c6841f30
fix getting git commit in Makefile (#1181) 2018-09-04 17:19:16 +02:00
Adam Babik 5664a24b10
remove 'v' from version from git tag in Makefile (#1178) 2018-08-31 07:28:12 +02:00
Adam Babik 16c7b94eb5
Add labels to docker images and add Jenkinsfile to build docker images (#1160)
* fixed generating `params.Version`
* added labels to all Docker images including git_commit and the author of the build (using `$USER` env variable)
2018-08-24 12:25:07 +02:00
Dmitry Shulyak 6858662d59
Proxy records found in ethereum discovery v5 (#1165) 2018-08-24 06:17:32 +03:00
Kishan Sagathiya 0f5ad2545d Issue #765 Read configuration without go-bindata (#1158)
In the current codebase if you want to use different keys (or any
other configuration) for tests it is required to place them at a
certain path in static folder, bundle them with go-bindata and only
then run tests. This is simply unnecessary.

This commit instead directs loads configurations from file without
relying on go-bindata
2018-08-21 14:46:10 +02:00