Commit Graph

688 Commits

Author SHA1 Message Date
Andrea Maria Piana 532664ab84
Adds topic negotiation and partitioned topic
All the code has been implemented in statusgo: status-im/status-go#1466

Basically all the whisper filter management is done at that level.

Technical description
On startup we load all chats and send a list of them to status go:
For a public chat: {:chatId "status"}, we create a single filter, based on the name of the chat.

For each contact added by us, each user in a group chat and each one to one chat open, we send:
{:chatId "0x", :oneToOne true}. This will create a chats, to listen to their contact code.

Any previously negotiated topic is also returned.

Once loaded, we create our filters, and upsert the mailserver topics, both of which are solely based on the filters loaded.
In order to remove a chat, we delete/stopwatching first the the filter in status-react and then ask status-go to remove the filter. For a public chat we always remove, for a one-to-one we remove only if the user is not in our contacts, or in a group chat or we have a chat open. Negotiated topics are never removed, as otherwise the other user won't be able to contact us anymore.

On stopping whisper we don't have to ask status-go to remove filters as they are removed automatically.

Some more logic can be pushed in status-go, but that will be in subsequent PRs.

Signed-off-by: Andrea Maria Piana <andrea.maria.piana@gmail.com>
2019-06-24 13:54:43 +02:00
Serhy 3973ebd607
Tx in Dapp multiaccount followup e2e fix
Signed-off-by: Serhy <sergii@status.im>
2019-06-20 16:23:46 +03:00
Vitaliy Vlasov b6163b8ae5
Check tribute if contact was added (but not otherwise)
Signed-off-by: Vitaliy Vlasov <siphiuel@gmail.com>
2019-06-19 15:19:09 +03:00
Serhy c9048f2e35
Fix stickers and wallet e2e tests
Signed-off-by: Serhy <sergii@status.im>
2019-06-19 09:32:22 +03:00
Julien Eluard 8aa16520c6
[Fixes #8066] Added native ENS registration
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-06-18 13:25:56 +02:00
Roman Volosovskyi 908f730b1d
[perf] network module 2019-06-13 09:33:18 +03:00
Serhy f3aa376d16
More e2e fixes
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-06-12 16:02:23 +02:00
Anton Danchenko d1b991f656
e2e fixes 2019-06-12 13:20:02 +02:00
Andrey Shovkoplyas 7de2941f26
[#8026] [Wallet] Sign transaction module 2019-06-12 13:20:01 +02:00
Roman Volosovskyi 3bd0947b4c
[perf] move goog.i18n deps to a module 2019-06-10 21:10:42 +03:00
Churikova Tetiana 3e8b02616b
Requirement for Faucet request received is removed
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2019-06-07 16:18:22 +02:00
yenda 04de022eae
[refactor] replace web3-prototype
- replace web3-prototype wherever possible
- currently only the money namespace is left
for future refactoring, the ideal solution
would be to use strings for big numbers all
the time and only convert for arithmetic operations
- use json-rpc call to replace trivial web3 calls

Signed-off-by: yenda <eric@status.im>
2019-06-06 15:57:34 +02:00
Churikova Tetiana 6c76cc866c
fetch_message and e2e fix
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2019-06-05 18:17:33 +02:00
Roman Volosovskyi 632bbf3bc1
[perf] Move translation to node_modules in release build 2019-06-05 18:40:53 +03:00
yenda 1ae42ea424
[perf] upgrade realm and improve schemas/queries
- upgrade to realm 2.28 to benefit from perf improvements
- remove user-statuses and replace by seen and outgoing-status fields
to get rid of a lot of bloat queries and computations
- remove unused seen message, bottom-infos
- remove unused fields in transport schema
- use objectForPrimaryKey whenever possible instead of get by field

Signed-off-by: yenda <eric@status.im>
2019-06-04 23:36:35 +02:00
yenda 1cb7f3b83f
[perf] remove unused schemas and properties
Signed-off-by: yenda <eric@status.im>
2019-06-03 18:24:34 +02:00
Vitaliy Vlasov 04ccd0e7d8
Add TtT chat flow
Signed-off-by: yenda <eric@status.im>
2019-06-03 15:31:30 +02:00
yenda 75e20a0bbd
remove useless field in message subs
Signed-off-by: yenda <eric@status.im>
2019-06-03 11:06:34 +02:00
Igor Mandrigin 34300cc0c0
Remove unused fields in chats dictionary.
Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-05-31 16:11:05 +02:00
Churikova Tetiana 9fe656705e
e2e for sync chats and profile
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2019-05-31 10:33:53 +02:00
tbenr 090a4e7c76
fixes #6573
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-05-31 10:25:24 +02:00
Roman Volosovskyi daacccb512
[Android, iOS] Advanced ClojureScript compilation 2019-05-30 21:23:31 +03:00
yenda f03225c03d
[fix] destructuring in events for fx/defn macro
Signed-off-by: yenda <eric@status.im>
2019-05-30 18:17:28 +02:00
yenda 4b6e5763e1
[feature] add basic decoding support for swarm
Signed-off-by: yenda <eric@status.im>
2019-05-30 18:15:32 +02:00
Serhy 6a74c3a1ef
Add scroll on wallet
Signed-off-by: Serhy <sergii@status.im>
2019-05-30 11:51:39 +03:00
Igor Mandrigin af6c784ab4
Prepare to use status-go based protocol: 1-1 and public chat management APIs.
Connect to stubs of status-go protocol API, behind the flag. Since status-go isn't updated yet, setting this flag will break the app.
What needs to be tested is no regressions in a normal mode.

Signed-off-by: Igor Mandrigin <i@mandrigin.ru>
2019-05-29 16:34:37 +02:00
Churikova Tetiana 590ba7c874
e2e pairing 1-1 and contacts
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2019-05-29 12:56:37 +02:00
Dmitry Novotochinov fd061833f5
save keycard key-uid to account and use it to login
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-05-29 12:55:32 +03:00
Serhy 092860f38a
Enable asset in Wallet before usage
Signed-off-by: Serhy <sergii@status.im>
2019-05-28 17:44:33 +03:00
Roman Volosovskyi c7c7b50281
RAM bundle basic setup 2019-05-27 17:34:17 +03:00
yenda 9b04dc6530
[dev feature] extend the defn macro
the defn macro knows register the function as an events under the
keywords provided in the :events key of the attributes map. It also
adds the interceptors provided in the :interceptors map

exemple:

```clojure
(fx/defn hello4
  {:doc "this function is useless as well"
   :events [:test/valid1 :test/valid2]}
  [{:keys [db]} b]
  {:db (assoc db :a b) :b (:a db)})
```

Signed-off-by: yenda <eric@status.im>
2019-05-27 13:50:46 +02:00
yenda b13864d052
[refactor] move utils.ethereum to ethereum
move utils.ethereum.tokens to ethereum.tokens
move utils.ethereum.abi-spec to ethereum.abi-spec
move utils.ethereum.core to ethereum.core
move utils.ethereum.eip165 to ethereum.eip165
move utils.ethereum.eip55 to ethereum.eip55
move utils.ethereum.eip681 to ethereum.eip681
move utils.ethereum.ens to ethereum.ens
move utils.ethereum.erc721 to ethereum.erc721
move utils.ethereum.mnemonics to ethereum.mnemonics
move utils.ethereum.resolver to ethereum.resolver
move utils.ethereum.macros to ethereum.macros

Signed-off-by: yenda <eric@status.im>
2019-05-23 15:11:48 +02:00
Anton Danchenko c08e370aa3
added test_open_blocked_site
Signed-off-by: Anton Danchenko <ant.danchenko@gmail.com>
2019-05-23 12:13:16 +03:00
yenda b6fecd4e1c
[refactor] remove ethereum `call` and `call-params`
- use `json-rpc/eth-call` and `json-rpc/eth-transaction-call`
everywhere
- move all conversions to abi-spec
2019-05-23 10:44:15 +02:00
yenda fc4c772c0b
[refactoring] remove web3, clean up wallet effects
- introduce json-rpc namespace, which provides `call` and `eth-call`,
a generic way of calling a json-rpc method taking care of conversions
and error handling
- remove web3 usage from wallet
- clean up effects, reducing the amount of computations when login in
2019-05-23 10:44:15 +02:00
yenda 89680f4861
[performance] improve wallet update performances
`wallet-autoconfig-token` is a very expensive call on mainnet
because it checks the balance of every known token.

it is called:
- when wallet is refreshed by pulling
- when user goes on any wallet screen

this PR changes that by:
- calling it only when the wallet is initialized and there is no
visible-token configuration

it only calls update-wallet when a new transaction arrives
2019-05-23 10:44:15 +02:00
yenda 2cd26c585d
[refactor] transaction history and filters 2019-05-23 10:30:33 +02:00
yenda b274ed9fa9
[feature] use new block signal to get new transactions
- remove the transaction fetching loop entirely to rely only on subscription
for live transactions and token transfer updates
- fetch token transfers history via etherscan API to lift the 100000 blocks
limit on token transfers history

- inbound token transfers are catched via a filter on ethlogs
- outbound token transfers and other transactions are catched by filtering
transaction in current block that have the wallet address as to or from field
2019-05-23 10:30:32 +02:00
yenda f5c18ae7a9
[feature] use subscriptions for tokens
- removes fetching of last 100000 blocks of token transfers from
the wallet pull loop
- fetches the last 100000 blocks of token transfers at startup
- replaces pulling by subscriptions to ethlogs for token transfers
2019-05-23 10:30:32 +02:00
bitsikka d640b4c87c
[7947] Feature: Blank out app preview screen when switching apps on mobile
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-05-22 15:31:50 +02:00
Churikova Tetiana d49a8dd5e5
align e2e with 8210
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2019-05-20 17:21:05 +02:00
Serhy aa7292d757
Fix deep links tests
Signed-off-by: Serhy <sergii@status.im>
2019-05-20 15:38:53 +03:00
yenda b0449f3416
[fix] ipfs CID
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-05-14 13:44:08 +02:00
Churikova Tetiana 17c163ce48
Reworked test_purchase_pack_and_send_sticker
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2019-05-13 15:57:20 +02:00
yenda 9b18f1d261
[feature] add varint encoding/decoding
Signed-off-by: yenda <eric@status.im>
2019-05-13 13:53:06 +02:00
Dmitry Novotochinov 5762967a44
[#7887] handle tag lost errors
Signed-off-by: Dmitry Novotochinov <dmitry.novot@gmail.com>
2019-05-11 23:05:33 +03:00
Churikova Tetiana 5ce43b75f3
Fixed failed e2e
Signed-off-by: Churikova Tetiana <churikova.tm@gmail.com>
2019-05-10 11:20:41 +02:00
Serhy 3a0c0a8557
Add faucet.ropsten.be in tests
Signed-off-by: Serhy <sergii@status.im>
2019-05-08 20:23:05 +03:00
Julien Eluard 99172607d5
[Fixes #7325] Add EIP681 deeplink support
Signed-off-by: Andrey Shovkoplyas <motor4ik@gmail.com>
2019-05-08 14:44:24 +02:00
Serhy abeaaa4218
Enable TX history view test on PR level
Signed-off-by: Serhy <sergii@status.im>
2019-05-08 09:54:31 +03:00