Commit Graph

1293 Commits

Author SHA1 Message Date
Andrea Maria Piana baa0767c26
Handle membership update message
This commit does a few things:

1) Handle membership updates using protobuf and adds the relevant
endpoints.
2) Store in memory a map of chats + contacts for faster lookups, which
are then flushed to disk on each update
3) Validate incoming messages

Sorry for the large pr, but you know, v1 :)
2019-12-10 15:20:28 +01:00
Jakub Sokołowski e249f35a8d fix missing genkey task in systemd bootnode makefile
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-12-10 13:46:32 +01:00
Adam Babik 3122c56c0e
fix protocol submodule definition 2019-12-09 18:51:08 +01:00
Adam Babik 8069b8cd82
clean up eth-node and protocol versions 2019-12-09 18:35:11 +01:00
Adam Babik 392ec7ae8e
fix whisper v6 module definition 2019-12-09 16:29:47 +01:00
Adam Babik 0c6a4e0e65
fix Whisper submodule version; bump go-ethereum version 2019-12-09 16:26:00 +01:00
Adam Babik 6284d45b69
fix docker image build 2019-12-09 16:04:32 +01:00
Adam Babik 56a0b02be7
bump to 0.37.0 2019-12-09 15:37:20 +01:00
Adam Babik a636f33109
Set Whisper version submodule to v6 (#1725) 2019-12-09 11:36:14 +01:00
Adam Babik 4ac4a61e20
Move whisper to status-go monorepo (#1720) 2019-12-09 11:06:04 +01:00
Roman Volosovskyi 4c0d8dedea
Replace address with keyUid in accounts db
Account's address was used as a primary key in accounts db and as a
deterministic id of an account in some API calls. Also it was used as a
part of the name of the account specific database. This revealed some
extra information about the account and wasn't necessary.
At first the hash of the address was planned to be used as a
deterministic id, but we already have a keyUid which is calculated as
sha256 hash of account's public key and has similar properties:
- it is deterministic
- doesn't reveal accounts public key or address in plain
2019-12-09 11:20:12 +02:00
Andrea Maria Piana c2e3f381ad
Bump version 0.36.1 2019-12-08 20:05:04 +02:00
Adam Babik 549fe06339
fix linter gocyclo error for bootnode 2019-12-06 10:59:29 +01:00
Gábor Lipták 891ce2b1b7 Update Travis badge in README to point to develop branch (only) 2019-12-06 10:11:42 +01:00
Andrea Maria Piana fd49b0140e
Move to protobuf for Message type (#1706)
* Use a single Message type `v1/message.go` and `message.go` are the same now, and they embed `protobuf.ChatMessage`

* Use `SendChatMessage` for sending chat messages, this is basically the old `Send` but a bit more flexible so we can send different message types (stickers,commands), and not just text.

* Remove dedup from services/shhext. Because now we process in status-protocol, dedup makes less sense, as those messages are going to be processed anyway, so removing for now, we can re-evaluate if bringing it to status-go or not.

* Change the various retrieveX method to a single one:
`RetrieveAll` will be processing those messages that it can process (Currently only `Message`), and return the rest in `RawMessages` (still transit). The format for the response is:
`Chats`: -> The chats updated by receiving the message
`Messages`: -> The messages retrieved (already matched to a chat)
`Contacts`: -> The contacts updated by the messages
`RawMessages` -> Anything else that can't be parsed, eventually as we move everything to status-protocol-go this will go away.
2019-12-05 17:25:34 +01:00
Jakub Sokołowski 429d2b4291 create a Makefile for running a bootnode under systemd
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-12-04 13:44:05 +01:00
Jakub Sokołowski 99a5a4d7b7 add -genkey flag to bootnode for making new keys
also add -writeaddress for getting the public node address

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-12-04 13:44:05 +01:00
Jakub Sokołowski e139af9a16 rewrite mailserver systemd setup to a Makefile
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-12-04 13:44:05 +01:00
Jakub Sokołowski f4d4c66d5b upgrade whisper: 1.6.1 > 1.6.2
This adds new Prometheus metrics

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-12-02 13:17:52 +01:00
Pedro Pombeiro 26b6d7c36a Create a home submodule for Eth node bridges- Rename StatusBackend to GethStatusBackend 2019-11-27 17:02:09 +01:00
Jakub Sokołowski 464c30a430 return rttMs as null on error
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-11-25 21:41:51 +01:00
Adam Babik 47ccf32cdb
Upgrade zap to v1.13.0 (#1694) 2019-11-25 21:16:00 +01:00
Roman Volosovskyi 5f6c7008e1
Add KeyUID to IdentifiedAccountInfo
This field will be used as a deterministic id of multiaccount on
status-react side instead of master key address. The reason why
it is calculated as sha256 of public key is that this way is
already used on keycard side and it will simplify integration.

Rename keycardKeyUid to keyUid

As long as this field will be present in all multiaccounts from now on it
shouldn't be named as keycard specific.
2019-11-22 17:50:24 +02:00
Adam Babik 10635d555f
Make extkeys as a submodule (#1691) 2019-11-22 13:58:03 +01:00
Adam Babik e1a8ba1ba5
Fix modvendor (#1690) 2019-11-22 13:24:20 +01:00
Pedro Pombeiro ed5a5c154d
Move to monorepo structure (#1684)
Move to a monorepo structure with submodules

- Rename status-protocol-go to status-go/protocol
2019-11-21 17:19:22 +01:00
Pedro Pombeiro 2dd74da23d Integrate Nimbus status-protocol-go 2019-11-18 14:30:03 +01:00
Adam Babik c199c8f342
Update Whisper and introduce rate limiting (#1673) 2019-11-18 11:22:23 +01:00
Pedro Pombeiro 6ce437255e Remove FCM implementation 2019-11-17 17:54:55 +01:00
Jakub Sokołowski 009778929b
bump version to 0.34.0-beta.9
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-11-15 13:20:37 +01:00
Adam Babik 749dae1f9e ignore C.char export error 2019-11-15 13:18:08 +01:00
Jakub Sokołowski 4c313c7032 add tcp-pinger for measuring rtt of mailservers
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-11-15 13:18:08 +01:00
Jakub Sokołowski 92d6b1c439 add systemd service leanup, fix config generation
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-11-15 11:30:23 +01:00
Andrea Maria Piana 9d7c570593
Add PrepareContent and upgrade status-go (#1674) 2019-11-15 09:52:28 +01:00
Andrea Maria Piana 89659f85b4
Upgrade status-protocol-go (#1664) 2019-11-08 08:36:12 +01:00
Andrea Maria Piana 9d6601207f Bump version 2019-11-06 18:59:31 +01:00
Andrea Maria Piana a659685e3f
Add parsed message (#1660)
This commits add a field (parsedMessage) to the json payload sent to
status-react.
This field is the parsed version of the transit message.
The code is all in dedup, I will re-organize it once we made all the
necesseary changes.
2019-11-06 17:23:11 +01:00
Corey 457acec72e
added name to batch loop so break works properly (#1650) 2019-11-06 09:12:05 -05:00
Adam Babik a4a7ae21b5
bump 0.34.0-beta.5 2019-11-05 09:19:36 +01:00
Adam Babik 183d626256
Implement mailserver Deliver() with MessagesRequest (#1653)
The main difference is that it takes `whisper.MessagesRequest` as an argument instead of `whisper.Envelope`.
2019-11-04 21:15:21 +01:00
Jakub Sokołowski c19f07f9e4 add a simple healtcheck for metrics endpoint
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-11-04 16:29:14 +01:00
Jakub Sokołowski e311307061
bump version to 0.34.0-beta.4
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-11-04 13:19:10 +01:00
Jakub Sokołowski c1f17cb4a3 use prometheus/client_golang for metrics
also re-implement mailserver metrics

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-11-04 13:18:50 +01:00
Andrea Maria Piana 9f2a4b378f
Verify ens endpoint, only against mainnet (#1657)
* String payload

* Verify ENS Names

* Update status-protocol-go
2019-11-04 11:08:22 +01:00
Jakub Sokołowski 46cd6e5118 add missing keystore init for node-canary
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-10-30 11:53:58 +01:00
Jakub Sokołowski 74e553b847 add test to check that version doesn't start with v
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-10-29 12:53:27 +01:00
Jakub Sokołowski 98c861cfe2 make sure Version is always set in loadNodeConfig()
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-10-29 12:53:27 +01:00
Adam Babik 81b0a7b29f
bump version to 0.34.0-beta.3 2019-10-15 16:36:57 +02:00
Adam Babik c74c36742e
Log error in mailserver (#1644) 2019-10-15 16:33:58 +02:00
Adam Babik 019f124f6b
bump version 0.34.0-beta.2 2019-10-14 16:23:32 +02:00