Commit Graph

4745 Commits

Author SHA1 Message Date
Stefan e06c490ec8 feat(dapps)_: implement basic dApp persistance
Implement required basic CRUD APIs

- Add session to wallet connect
- Delete session used in tests only
- Get active dApps: the order of retrieval is
    based on the first time the DApp was added
    in descending order.

Also add tests to validate the main requirements

Closes: #14615
2024-05-28 19:29:08 +02:00
Stefan 36273bc9b2 feat(dapps)_: add wallet_connect_dapps table
Refactor wallet_connect_sessions to account for session dapp relation

Update: #14615
2024-05-28 19:29:08 +02:00
Stefan 1bd2f119de chore(dapps)_: remove WalletConnect service POC
The clients will all handle separately the wallet connect protocol
and only call static APIs to deal with persistance and blockchain
related operations.

Updates: #14615
2024-05-28 19:29:08 +02:00
Mykhailo Prakhov 3cae2e06f3
fix(ActivityCenterNotification)_: update pending state of request to join ActivityCenterNotification when member was joined (#5242) 2024-05-28 17:02:30 +02:00
Sale Djenic dd7b3d1af8 fix_: unblocking the router calculation if an approval is required for the gas estimation 2024-05-28 13:55:54 +02:00
Sale Djenic 74b1dfd694 fix_: hop contracts' addresses updated 2024-05-28 13:55:54 +02:00
Sale Djenic c74931c333 fix_: hop bridge improvements
- handling `null` values in the Hop response
- using data returned from the Hop api when preparing data for estimation and calling `swapAndSend` and `sendToL2`
- estimating gas for bridges implemented in the bridges implementation types, avoiding wrong gas for placing bridge transactions
2024-05-28 13:55:54 +02:00
Ivan Belyakov 4e51b5ba24 feat(wallet)_: more fixes for rpc_limiter_db and chain client, more
tests
2024-05-28 13:44:40 +02:00
Ivan Belyakov cec11e9313 feat(wallet)_: Fixed account limit period for history to infinite instead of per day
Fix rpc stats doubling.
Add test for infinite limit
2024-05-28 13:44:40 +02:00
Ivan Belyakov ce773b69ce feat(wallet)_: fixed lint issues. Fixed rpc stats to include tagged
requests
2024-05-28 13:44:40 +02:00
Ivan Belyakov 725fef8f24 feat(wallet)_: implemented storing RPC requests in sql table
Fixed some tests and minor issues
2024-05-28 13:44:40 +02:00
Ivan Belyakov cdf80b5300 feat(wallet)_: added group tag for RPC chain client
It is needed to be able to set common limits for chain client
Added a test for group tag limiter
Added a mutex to RPC limiter to change counters atomically
Replaced isConnected with atomic.Bool and made it a pointer to
be shared across client instances
2024-05-28 13:44:40 +02:00
Ivan Belyakov bf7aabfa3e feat(wallet)_: renamed some methods for clarity 2024-05-28 13:44:40 +02:00
Ivan Belyakov 9fe87657d6 feat(wallet)_: added and fixed tests for findBlocksCommand with limiter. 2024-05-28 13:44:40 +02:00
Ivan Belyakov 78f05f60b2 feat(wallet)_: add limiter to rpc.client
Add tests for limiter
Use limiter for transfer history commands
2024-05-28 13:44:40 +02:00
Ivan Belyakov 4a1f751ced feat(wallet)_: Implemented RPC limiter interface
Split ClientInterface to aggregation of multiple interfaces
Added tags to RPC stats API
Use tagged RPC client for transfers commands
Implemented general interface for RPC limiting
2024-05-28 13:44:40 +02:00
Michal Iskierko ad9032d036 feat_: recovery retracking pending transsactions
Add ReTrackOwnerTokenDeploymentTransaction function which will runs community tokens transactions listening.
Add deployment transaction hash to community_tokens table.

Issue #14699
2024-05-28 13:06:24 +02:00
Icaro Motta edc65e4611
fix(login)_: Locally cache communities outside chat loop 2024-05-28 11:43:11 +02:00
Ivan Belyakov d2343ee03e fix(wallet)_: fixed disconnected event sent for all providers ignoring
type of error
2024-05-28 08:39:36 +02:00
Godfrain Jacques 07de481b69
fix_: fix deleted communities query (#5232)
Removes the community_id IS NULL condition when fetching deleted
communities and cleanup. This fixes #5222
2024-05-27 10:09:15 -07:00
Mykhailo Prakhov bb09cd328f
fix(test)_: TestResendEncryptionKeyOnBackupRestore test performance fix (#5236) 2024-05-27 16:29:06 +02:00
richΛrd 0a9cff25f4
refactor_: do not use identify protocol, and actually use the nodes from the config for peer exchange (#5212) 2024-05-27 09:43:47 -04:00
Igor Sirotin 19875ed9b5
fix: archive decryption fail (#5076)
* fix_: delay archive import if decryption failed

* chore_: minor cleanup

* chore_: test archive import of encrypted channel

* test(TestImportDecryptedArchiveMessages)_: first iteration

* feat_: GetHashRatchetMessagesCountForGroup

* chore_: log community description and shard info message ids

* test(TestImportDecryptedArchiveMessages)_: cleanup

* fix_: rebase issues

* chore_: remove temporal test

* test(TestImportDecryptedArchiveMessages)_: cleanup

* chore_: lint fix

* fix(TestImportDecryptedArchiveMessages)_: ForceMembersReevaluation
2024-05-27 13:49:09 +01:00
Parvesh Monu 644f64b260
feat_: Return parsed bridge messages (#5192) 2024-05-27 13:32:30 +05:30
richΛrd 94e5431ea3
chore: add fleet ENRs to the list of discv5 nodes (#5184)
* chore_: add fleet ENRs to the list of discv5 nodes
* fix_: handle scenario in which there are dnsDiscoveryURLs and enrs in the DiscV5Bootnode list
2024-05-26 19:16:26 -04:00
Jonathan Rainville cc505d3018
chore_: up re-evaluation interval to 8 hours to avoid Alchemy limit (#5228) (#5230) 2024-05-24 16:21:56 -04:00
Mikhail Rogachev 4f493a533e
chore(identity)_: remove old social links implementation (#5214) 2024-05-24 10:35:34 +02:00
Andrey Bocharnikov 49b6ef4aaf
fix(communities)_: Receiving mention notifications (@everyone) from spectated communities (#5180)
fix(communities)_: Receiving mention notifications (@everyone) from spectated communities #14798

Fix condition to check if user has joined community isCommunityJoinedBeforeClock

Fixes #14798
2024-05-24 00:13:48 +04:00
Patryk Osmaczko 709d75d69c fix_: flaky testReevaluateMemberPrivilegedRoleInClosedCommunity
`waitOnCommunitiesEvent` must be invoked before action that triggers
the event.

fixes: #4578
fixes: #4761
2024-05-23 20:15:36 +02:00
Mykhailo Prakhov d80db940d7
chore_: 'CheckAllChannelsPermissions' fn optimization (#5196) 2024-05-23 19:06:50 +02:00
Sale Djenic 534c756bf5 fix_: re-trying http requests up to the predefined max retries
This commit should fix the issue with Cryptocompare and CoinGecko providers down.
Often happens that the first request fails and because of that:
- the Router cannot complete calculation successfully
- some tests are failing
- some users very often see a red banner line saying the providers are down
2024-05-23 16:28:50 +02:00
Sale Djenic dcef87af3f fix_: token store clearing
This commit fixes issue with having a multiple contract addresses for the same symbols at the same networks.
An issue we had with this was that when we're searching for a token by symbol, always the first one from the
list was returned. That thing may result later in not having enough balance for that token on certain network,
even the user actually has it.
2024-05-23 14:39:46 +02:00
Vaclav Pavlin d31200e55b
fix(waku)_: only use requestId in store query if defined (#5211) 2024-05-23 08:26:21 -04:00
Patryk Osmaczko cec5985066 chore(communities)_: separate changes application in `reevaluateMembers`
This avoids locking of the community until the end of reevaluation.

There is no special handling for community changes while reevaluation is
ongoing. If members are added or removed, the function will behave
correctly. If permissions are changed, they will be accommodated in the
next reevaluation.

fixes: status-im/status-desktop#14775
2024-05-23 09:52:38 +02:00
Arseniy Klempner ad4fb204ef
chore_: add telemetry url flag to status cli (#5201)
This commit adds a TelemetryUrl param to request for creating
account and to the WakuV2Config. Adds a flag to the cli for
passing in the telemetry server url.
2024-05-22 15:01:54 -07:00
Mikhail Rogachev c8dfbe682d
fix(communities)_: spectated communities new channels member list (#5190) 2024-05-22 21:43:06 +02:00
Patryk Osmaczko 97af3f7e52 fix_: flaky TestJoinCommunityAsMemberWithMemberAndAdminPermission
`waitOnCommunitiesEvent` must be invoked before action that triggers
the event.

fixes: #4760
2024-05-22 20:42:52 +02:00
Patryk Osmaczko 568e07d2eb chore(scripts)_: add HEAD logging to run_unit_tests.sh
To check if #4993 is really resolved.
2024-05-22 19:44:25 +02:00
Mykhailo Prakhov 6fbf2cf17f
chore(tests)_: createCommunityConfigurable creates only one chat (#5204) 2024-05-22 15:08:44 +02:00
Godfrain Jacques 133ad0946b
fix_: persist left communities even for restored account (#5174)
This PR fixes #7858 by making sure left persisted communities are
restored during the backup restore flow
2024-05-21 14:01:14 -07:00
richΛrd 0937850268
chore: use custom logger for message timestamps and log query duration (#5199)
* chore_: use custom logger for message timestamps
* chore_: log store query duration
2024-05-21 13:29:29 -04:00
Jonathan Rainville af66f517f5
fix_: fill missing community tokens in controlled communities (#5154) (#5188)
Needed for https://github.com/status-im/status-desktop/issues/14679

On app start, fills controlled communities with missing deployed community tokens if there are.
2024-05-21 12:00:32 -04:00
Michal Iskierko 6f1b82966a feat_: light, no-network versions of permission checking functions
Light functions are based on the fact that permissions are met if the user is on community/channel member list.
If the user is not on the list, permissions will not be met and the client is responsible to use regular permissions-check functions.
For all permissions-check functions, corresponding light versions are added: CheckAllChannelsPermissionsLight,
CheckChannelPermissionsLight, CheckPermissionToJoinLight.

Issue #14220
2024-05-20 14:17:40 +02:00
Vitaly Vlasov 20d3a7b69b fix_: Use UnixMilli() 2024-05-20 14:39:46 +03:00
Igor Sirotin d8a5665871 fix_: encryption.GetCurrentTime implementation 2024-05-20 14:39:46 +03:00
Igor Sirotin da12c52596 fix_: loading hash_ratchet_encryption from database checks group_id 2024-05-20 14:39:46 +03:00
Jakub Sokołowski 292070a854
feat(spiff-workflow)_: support metrics endpoint
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-20 08:26:53 +02:00
Jakub Sokołowski 2e0773d793
fix(spiff-workflow)_: use shards.test fleet by default
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-20 08:25:52 +02:00
Jakub Sokołowski 8c940bcfb0
fix(spiff-workflow)_: set NoDiscovery=true
To avoid errors like this:
```
NoDiscovery is false, but ClusterConfig.BootNodes is empty
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-20 08:25:51 +02:00
Jakub Sokołowski 9f1c0a27b7
fix(config)_: KeycardPairingDataFile is not required
Without this change `cmd/spiff-workflow` fails to start with:
```
INFO [05-14|19:08:39.025|github.com/status-im/status-go/api/geth_backend.go:786]  failed to start node                     package=status-go/api.GethStatusBackend
ERROR[05-14|17:00:04.279|spiff-workflow/main.go:125] failed import account                       package=status-go/cmd/statusd err="Key: 'NodeConfig.KeycardPairingDataFile' Error:Field validation for 'KeycardPairingDataFile' failed on the 'required' tag"
```
The alternative is to set `KeycardPairingDataFile` to any value:
```
	nodeConfig.KeycardPairingDataFile = "STUPID_BEYOND_BELIEF"
```
Which is even worse.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-20 08:25:50 +02:00