Commit Graph

1441 Commits

Author SHA1 Message Date
Sale Djenic 6f2b02cfdb fix_: celar bridge fixes 2024-06-04 10:10:35 +02:00
Ivan Belyakov bf78c15e6f test(wallet)_: implement build/sign/watch unit tests for multitransaction manager
Closes #14848
2024-06-03 15:48:19 +02:00
Michal Iskierko b38a9f5878 fix_: Publish token actions to privileged members
Send information to owners and token masters about operations: burn, airdrop, remote destruct.
Add CommunityTokenActionSignal to signalize client side.

Fix #13371
2024-06-03 12:19:19 +02:00
Sale Djenic aec567fd9f fix_: eth and erc20 fixes 2024-06-03 10:45:25 +02:00
Jonathan Rainville 64d2860571
chore_: remove Light permission checks that are no longer needed (#5267) 2024-05-31 10:22:08 -04:00
Sale Djenic f41dd35d6c fix_: erc 721 and 1155 fixes 2024-05-31 14:38:00 +02:00
Ivan Belyakov a135b27980 test(wallet)_: created Transactor interface
- Moved some methods from Transactor to users of it to clean interface.
- Mocked Bridge interface and Transactor interface for tests
- Wrote unit tests for SendTransaction
2024-05-31 09:58:06 +02:00
Ivan Belyakov 4d1149100f chore(wallet)_: code structure improved for multi_transaction manager
- exported API methods left at the same place
- private methods moved to helpers.go
- stuff for testing moved to testutils.go
- created storage interface with clean API and multi transaction related db calls moved
  to MultiTransactionDBStorage implementation
- created dummy in-mem storage for tests with multi transactions
- written tests for MultiTransactionDBStorage
2024-05-31 09:58:06 +02:00
Sale Djenic 8d17918c37 chore_: adding snt token for optimism and arbitrum to status token store list 2024-05-29 10:45:59 +02:00
Samuel Hawksby-Robinson a3514e5d4d test_: Implemented zap.Logger in debug for filter logging 2024-05-28 22:05:57 +01:00
Samuel Hawksby-Robinson 92cd0c1411 test_: Replaced fmt.Printf with 'testing.T' 't.Logf' 2024-05-28 22:05:57 +01:00
Samuel Hawksby-Robinson 9b256d1220 test_: Resolved insufficient rest test case issue 2024-05-28 22:05:57 +01:00
Samuel Hawksby-Robinson 0d8068f5f4 test_: Addressed feedback from Sale 2024-05-28 22:05:57 +01:00
Samuel Hawksby-Robinson 2d242e912f test_: Fixes and additional test case for robustness 2024-05-28 22:05:57 +01:00
Samuel Hawksby-Robinson 40193f4d1d test_: Implemented some fixes to the filter logic 2024-05-28 22:05:57 +01:00
Samuel Hawksby-Robinson d42a09d638 test_: Added much better coverage for testing for filterNetworkComplianceV2
Note there are a number of failing test, this is fine. Need to figure out if these are caused by my tests, my code or the original algorithm
2024-05-28 22:05:57 +01:00
Samuel Hawksby-Robinson 987c0b28ec test_: Added much better coverage for testing for filterCapacityValidationV2 2024-05-28 22:05:57 +01:00
Samuel Hawksby-Robinson a648635d60 test_: Added much better coverage for testing for filterNetworkComplianceV2 2024-05-28 22:05:57 +01:00
Samuel Hawksby-Robinson 4f2cd8ff7a test_: Added testing for filterRoutesV2 2024-05-28 22:05:57 +01:00
Samuel Hawksby-Robinson a91ce6067d test_: Added testing for filterCapacityValidationV2 2024-05-28 22:05:57 +01:00
Samuel Hawksby-Robinson 3a50ce0397 test_: Added testing for filterNetworkComplianceV2 2024-05-28 22:05:57 +01:00
Samuel Hawksby-Robinson 69125cd594 test_: Added testing for hasSufficientCapacityV2 2024-05-28 22:05:57 +01:00
Samuel Hawksby-Robinson e1f65fb531 test_: Added testing for isValidForNetworkComplianceV2 2024-05-28 22:05:57 +01:00
Samuel Hawksby-Robinson 0f33076ceb test_: added testing for TestCalculateTotalRestAmountV2 2024-05-28 22:05:57 +01:00
Samuel Hawksby-Robinson dd9e4e787c test_: added testing for setupRouteValidationMapsV2 2024-05-28 22:05:57 +01:00
Samuel Hawksby-Robinson 889675e42a test_: Modulised filterRoutesV2 to make more testible
This is as per my original draft earlier this week https://github.com/status-im/samyoul-notes/blob/master/analysis/wallet/Router/code/filterRoutes.go
2024-05-28 22:05:57 +01:00
Dario Gabriel Lipicar 717c7df690 feat(wallet)_: added supported chains and recurrent purchase url to onramp providers 2024-05-28 14:51:38 -03:00
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 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
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
Ivan Belyakov d2343ee03e fix(wallet)_: fixed disconnected event sent for all providers ignoring
type of error
2024-05-28 08:39:36 +02:00
Mikhail Rogachev 4f493a533e
chore(identity)_: remove old social links implementation (#5214) 2024-05-24 10:35:34 +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
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
Ivan Belyakov 16171c9dc8 fix(wallet)_: fix crash on cbridge fee calculation 2024-05-20 06:38:35 +02:00
Sale Djenic 4a1a29b6a5 chore_: checks per sending type added (part3) 2024-05-18 00:00:23 +02:00
Sale Djenic 7a016d0859 chore_: router moved to router package (part2) 2024-05-18 00:00:23 +02:00
Sale Djenic 4894808839 chore_: review comments applied (part1) 2024-05-18 00:00:23 +02:00
Sale Djenic 08fef4afde chore_: the router implementation simplification 2024-05-18 00:00:23 +02:00
Sale Djenic 437ad499c8 chore_: `SendType` moved to another file 2024-05-18 00:00:23 +02:00
Jakub Sokołowski c7397e18dd
chore(all)_: remove obsolete eth.staging fleet
And leftovers of `eth.test` fleet which no longer exists.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-17 20:21:00 +02:00
Anton Iakimov 92ef58d420
chore_: drop wakuv2 fleets, use waku fleets
See https://github.com/status-im/infra-nim-waku/issues/91 for details.

Mostly done automatically. Some parts manually.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-05-17 18:53:40 +02:00
Michal Iskierko c3ab8bd658 feat_: add l1 transaction fee to community token contracts operations
Move estimation funtions to a estimations.go
Compute gas, suggested fees and l1 fee in one status-go call

Issue #14166
2024-05-17 09:57:03 +02:00
Michal Iskierko 574450289c feat_: Move community tokens transaction listening to status-go
Use EventWatcher to catch wallet events.
Handling all community tokens wallet events in communitytokens service (database and messenger operations).
Adding new signal to nim: CommunityTokenTransactionSignal, which is emitted everytime when the event is received.

Issue #4351
2024-05-16 16:18:15 +02:00
Cuteivist 6b680f0722
feat_: Correct opt short names (#5163) 2024-05-16 16:01:30 +02:00
richΛrd bc8b6d24f0
feat_: shards.staging fleet (#5160) 2024-05-15 20:09:28 -04:00
richΛrd 9e0fb30f8d
chore_: bump go-waku (#5150) 2024-05-15 19:15:00 -04:00
Sale Djenic c9ee0e04c2 fix_: logic for checking if the route can be established updated 2024-05-15 17:36:28 +02:00
Ivan Belyakov 5be610e653 fix(wallet)_: reduce block range size for `eth_getLogs` request for
Sepolia
2024-05-15 17:24:06 +02:00
Ivan Belyakov c0e922f0af fix(wallet)_: fix crash on nil db for statusd if wallet is enabled
Fixed some other issues with prevented startup of statusd:
- ensure paths for DBs are created
- ensure DBs are opened before calling `StartNode`
- ignore error if multiacc database is not available

Updates #14693
2024-05-15 10:19:25 +02:00
Cuteivist 838311e902
fix_: Prioritize tokens on eth platform (#5151) 2024-05-15 07:33:12 +02:00
Khushboo-dev-cpp 867cd1f14b
feat(api)_: add api and functionality to get collection website and twitter handle from alchemy (#5007) 2024-05-14 08:58:08 +02:00
Jonathan Rainville 8f50b578d1
refactor(chat)_: remove concept of ChannelGroup and remove api functions (#4997)
For status-im/status-desktop#12595
2024-05-13 15:06:21 -04:00
Ivan Belyakov 3b6b38a414 chore(wallet)_: Fix tests after wallet api sign and send clean up
- Get rid of InsertTestMultiTransaction function in test utils and
use InsertMultiTransaction method of transaction manager
- Use MultiTransaction type instead of TestMultiTransaction

Added a missing wallet DB migration file for multi transactions
2024-05-09 18:11:58 +02:00
Ivan Belyakov ed164e4ac5 chore(wallet)_: clean up wallet API send and sign transactions 2024-05-09 18:11:58 +02:00
Dario Gabriel Lipicar 8a0b7ddbb5 feat(wallet)_: switch rarible client to eth sepolia 2024-05-03 08:49:20 -03:00
Ivan Belyakov 12d2a1ac2d fix(wallet)_: fixed crash when bridging and chain id not set 2024-04-26 09:45:40 +02:00
Cuteivist eb1ed696f6
fix_: Fix timestamo integer cast (#5092) 2024-04-25 14:15:07 +02:00
Igor Sirotin 295685c1fe
fix_: skip tests using infura (#5086) 2024-04-24 16:41:42 +02:00
Siddarth Kumar d6c4682479
chore_: bump go to 1.20 (#5027)
This commit attempts to upgrade go version to 1.20.12
This commit also removes the following items from lint checks :
* `goconst`
* `structcheck`
* `deadcode`
* `golint`
* `varcheck`

Mobile PR for QA purposes -> https://github.com/status-im/status-mobile/pull/19564
2024-04-18 18:48:02 +02:00
Andrey Bocharnikov 78db9054fc
fix_: Add contact to removeTrustStatus response (#5058)
* Split function for reseting trust status and verification+trust status
* Refactoring: extract setTrustStatusForContact, setContactVerificationStatus functions
* Tests
2024-04-18 19:28:44 +04:00
Ivan Belyakov 12deb23360 chore(wallet)_: removed all addresses parameter as redundant.
Instead we check directly if passed addresses are all wallet addresses that
we have in accounts DB.
2024-04-12 14:36:44 +02:00
Ivan Belyakov a549529637 fix(wallet)_: balances were not updated for accounts not checked during
initial balance fetch, as cache was considered valid and in case
balance was previously stored in DB for this account, it was returned
though it was not up to date.
2024-04-11 19:29:55 +02:00
Patryk Osmaczko 759e5e5c7b fix_: improve `fetchCommunityAssets` performance
fixes: #5038
2024-04-10 21:00:28 +02:00
Ibrahem Khalil 18cc3a16d5
Return request to join acceptance notifications (#4909) 2024-04-09 21:32:03 +02:00
Patryk Osmaczko 1ceb180e8a fix: fetch community only when assets metadata is missing
fixes: status-im/status-desktop#14296
2024-04-09 10:51:21 -04:00
Cuteivist d3d155a5b2
Added soulbound field for collectibles (#5026) 2024-04-09 16:16:20 +02:00
Anthony Laibe 6823870b01 fix: update ramp network link
fix: https://github.com/status-im/status-desktop/issues/14359
2024-04-09 11:39:37 +02:00
Sale Djenic 7b09ee073d feat: swap via paraswap 2024-04-08 10:14:48 +02:00
Michal Iskierko debc1485de fix: omit l1GasFee in json 2024-04-07 20:58:17 +02:00
Stefan 9986125982 chore(wallet) minor improvement to matching transactions
Made while hunting for the hash used for matching ID madness.

Updates: #14071
2024-04-05 11:04:13 +02:00
Stefan 62405b4def fix(wallet): activity duplicate in case of non-native transfer
The "hash" (a.k.a. ID) column was used for matching transfer entry which
works only for native transfers which have the `ID` same as hash.

Closes: #14071
2024-04-05 11:04:13 +02:00
Anthony Laibe e1cd91fafe Fix for erc20 transfer + other type of tx
This is 2 fix:
- ENS interaction + stickers don't need L1 fees as they are only executed on mainnet
- ERC20 data needs to be built when making the tx
2024-04-04 13:40:04 +02:00
yqrashawn aa73a0512c
feat: add contact customization color (#4869) 2024-04-03 22:49:57 +08:00
Stefan ef0e17e0f5 fix(wallet) fix erc721 transfer router
Changes

- Use token's contract address for `ERC1155TransferTxArgs.to` because it
is used as such later on.
- Extract Token ID from the symbol as we encoded and set the corresponding
value in the `ERC1155TransferTxArgs`.
- Set ChainID in `ERC1155TransferTxArgs`

Updates status-desktop #14212
2024-04-01 15:17:41 +02:00
Stefan ff6fb81beb fix(wallet) fix erc721 transfer router
Changes

Use token's contract address for `ERC721TransferTxArgs.to` because it
is used as such later on.
Extract Token ID from the symbol as we encoded and set the corresponding
value in the `ERC721TransferTxArgs`.
Set ChainID in `ERC721TransferTxArgs`
Fix wrong order of arguments in `BuildTx`.

Updates status-desktop #14212
2024-04-01 15:17:41 +02:00
Mikhail Rogachev 30e143ca40
Fix(Profile): Remove profile showcase from general response via signal (#4982)
* Fix(Profile): Remove profile showcase from general responce via signal

* Fix(Profile): Restore community membership validation for the prodile showcase

* feat: Make profile validation optional

* fix: review fixes
2024-03-29 11:22:44 +01:00
Sale Djenic caf3de1190 feat: suggested derivation path endpoint added 2024-03-27 17:20:40 +01:00
Ivan Belyakov e9a2f19c17 fix(wallet): cleanup multi_transactions table on account removed
Updates #4937
2024-03-27 14:54:30 +01:00
Ivan Belyakov c21e6430a2 fix(wallet): cleanup token_balances table on account removed
Updates #4937
2024-03-27 14:54:30 +01:00
Ivan Belyakov cc839ad7bc fix(wallet): cleanup balance_history table on account removed
Updates #4937
2024-03-27 14:54:30 +01:00
Stefan 48af7a6f49 chore(wallet) remove unused multi-transaction-update event
A leftover after migrating to incremental activity updates session-based
We now use pending instead of `multi-transaction-update`, there is no
multi-transaction update without an equivalent pending or transfer update
2024-03-27 13:36:40 +01:00
Sale Djenic 98c3be55b9 feat: l1 gas price estimation when placing l2 transaction 2024-03-27 08:24:39 +01:00
Igor Sirotin 1a2880b365
Fix/community tags indices (#4992)
* fix: strict order of community tags

* make tags containers private

* fix RandomCommunityTags implementation
2024-03-26 20:02:12 +00:00
Cuteivist 2aa306ef4c
fix: Pass additional data when community token is received (#4954) 2024-03-25 18:30:59 +01:00
Roman Volosovskyi 8086b24a9e
Refresh balance cache on login (#4950) 2024-03-20 12:32:04 +01:00
Mykhailo Prakhov ad342c8887
feat: get and delete community member messages API (#4932) 2024-03-19 20:44:49 +01:00
Dario Gabriel Lipicar bcca75dc9d feat(wallet): add EURC to the tokenstore 2024-03-19 12:56:15 -03:00
Michal Iskierko 8bf03609fc feat: Add HideIfPermissionsNotMet to CommunityChat struct
Issue #13291
2024-03-18 15:01:29 +01:00
Dario Gabriel Lipicar 58b57b12a3 feat: implement search api
Issue #13921
2024-03-18 10:22:00 -03:00
Dario Gabriel Lipicar 6e5c91f2d7 fix(wallet): flaky test TestUpdateCollectiblesData 2024-03-18 10:05:46 -03:00
Ivan Belyakov b0a0f078c4 feat(wallet): refactored collectibles manager using circuit breaker
Removed goerli from rarible and opt-goerli from alchemy clients as
not supported any more
2024-03-18 11:49:03 +01:00
Ivan Belyakov 224103d036 fix(wallet): crash on access nil block 2024-03-18 10:56:19 +01:00
Cuteivist d35a73a94f
chore: Optimize number of sql calls (#4928) 2024-03-18 09:37:05 +01:00
Roman Volosovskyi 38183ab335
Fix balance cache on switching to testnet (#4924) 2024-03-15 13:37:00 +01:00
Ivan Belyakov 2c634a2b45 fix(wallet): flaky test TestUpdateCollectionsData 2024-03-15 13:35:32 +01:00
Cuteivist afd72ace28
Chore: Remove fetching community data (#4794) 2024-03-13 17:33:01 +01:00
Sale Djenic f69ee07593 fix: calculating next nonce for optimism chain improved to align with calculation on mainnet and arbitrum 2024-03-13 15:21:33 +01:00
Michal Iskierko 43bc6e4b83 fix: Compute deployment fees dynamically
Issue #13646
2024-03-12 20:05:25 +01:00
Jonathan Rainville 3da9abfeb5 fix: set canPost to true for non-community channels 2024-03-12 11:04:45 -04:00
Jonathan Rainville e3810148d8 feat: add ViewersCanPostReactions to Chat object
Needed https://github.com/status-im/status-desktop/issues/13523
2024-03-12 11:04:45 -04:00
Roman Volosovskyi 2be9bfc304
Fix balances cache (#4890) 2024-03-11 14:48:40 +01:00
Anthony Laibe 2dfbe3099a fix: swap and send to l1 2024-03-11 12:04:14 +01:00
Stefan e1c7c715aa fix(wallet): fix activity filter updates special case
This commit fixes a special case where the activity filter incremental
updates were reported as new even that they were present in a previous
update.

Updates status-desktop #12120
2024-03-11 09:37:05 +01:00
Mikhail Rogachev 6522d52016
Feat: Simplify profile showcase preferences (#4854)
* Feat: simplify profile showcase preferences

* Feat: remove old profile showcase preferences on save

* Feat: add getters for showcase entries limits
2024-03-08 17:20:23 +01:00
Dario Gabriel Lipicar fcde7ccafe fix: ensure no duplicate results when checking for missing collectible/collection ids in the db 2024-03-08 10:49:06 -03:00
Cuteivist 6c792a0e73
feat: Pass 1 day balance change (#4858) 2024-03-08 13:52:39 +01:00
Anthony Laibe 477283e960 fix: buying ens from sepolia 2024-03-08 09:43:26 +01:00
Roman Volosovskyi 6f753617de
[#4774] Use findNewBlocksCommand for checking recent history (#4795) 2024-03-07 15:51:21 +01:00
Dario Gabriel Lipicar 4bf6f27b26 fix: handle collectibles owned by multiple accounts 2024-03-06 20:45:42 -03:00
Dario Gabriel Lipicar 55e8fd4554 fix: ensure atomic collectibles ownership updates 2024-03-06 20:45:42 -03:00
Dario Gabriel Lipicar 71377a50d7 feat: fetch collectibles balances 2024-03-06 20:45:42 -03:00
Sale Djenic 846a59b40f chore: tokenstore details for usdc for sepolia and arbitrum sepolia updated 2024-03-06 19:38:35 +01:00
Khushboo-dev-cpp 580f697f57
fix: Fix send Erc 1155 flow (#4865) 2024-03-06 11:16:20 +01:00
Alexander 26bc564b38
Peer syncing toggle (#4758)
* Peer syncing toggle

* bindata.go
2024-03-05 11:44:09 +01:00
Ivan Belyakov 440779fc8c fix: flaky test TestController_watchAccountChanges by making sure
to check the database transfer after removal event is processed.
2024-03-04 10:36:33 +01:00
Igor Sirotin bdb2b261a6
feature: view only channel reactions (#4820)
* CommunityMember channel role

* make generate
2024-03-01 17:15:38 +00:00
Mikhail Rogachev 5d29c20f94
Feat: Add 'IsDisplayNameDupeOfCommunityMember' endpoint (#4839)
* feat: Add 'TestScanCommunitiesMembersForName' endpoint

* feat: validate display name amoung community members
2024-03-01 15:46:48 +03:00
Anthony Laibe 011a170a03 fix: dup tx
Remove duplicate gas only TX
Remove Send and Receive from self, only the send row is kept
2024-03-01 09:43:47 +01:00
Stefan a63d33e04a feat(wallet) process all the events and debounce updates
Process missing events

Throttle down downloader's events to avoid overloading the CPU with
change detection.

Updates status-desktop #12120
2024-02-29 17:06:40 +01:00
Stefan eecde4c27f feat(wallet) activity filter incremental updates on filter clear
Add an intermediary state to the session to keep track of the changes
made when the filter was applied.

Updates status-desktop #12120
2024-02-29 13:27:05 +01:00
Cuteivist 03b903fd64
feat: Pass community id for wallet activity (#4757) 2024-02-29 11:22:14 +01:00
Sale Djenic bb3006d747 feat: rpc request limiter 2024-02-29 08:26:10 +01:00
Stefan ae9b697eda feat(wallet) implement mixed incremental updates for activity filter
Refactor the activity filter session API to account for the new structure

Also:

- Refactor test helpers to mock for different chains with mixed answers
- Test implementation

Updates status-desktop #12120
2024-02-28 22:14:21 +01:00
Mikhail Rogachev 577db512c6
Feat: add endpoint for getting latest pending CR for a contact (#4819) 2024-02-28 23:00:35 +03:00
Dario Gabriel Lipicar 9fef2d3558 fix: properly setup collectible providers exponential backoff 2024-02-27 18:26:55 -03:00
Patryk Osmaczko 1f42f2582a Revert "Comment out all logged flaky tests"
This reverts commit 0bd4a06edc.
2024-02-27 11:00:29 +01:00
Mikhail Rogachev 7cc4c12642
Feat: Add social links to the profile showcase (#4775)
* feat: add social links to the profile showcase

* fix: deprecate old social links, add synced profile showcase to response
2024-02-26 16:53:40 +03:00
Dario Gabriel Lipicar 54ea0981a5 fix: properly handle tokenID 0 when filtering activity by collectibles 2024-02-23 09:43:20 -03:00
Anthony Laibe 972a4f9df9 feat: sepolia default 2024-02-23 11:26:31 +01:00
Cuteivist 83678042f4
chore: Pass tx ID instead of hash (#4769) 2024-02-22 23:40:36 +01:00
Sale Djenic 0e8143db76 feat(savedaddresses): mixedcase address added to the saved address struct 2024-02-22 10:16:12 +01:00
Mikhail Rogachev eb5bad4868
Feat: Profile showcase validate collectible ownership (#4737)
* feat: profile showcase checks then presenting collectibles

* chore: more obvious CollectiblesManager configuration
2024-02-22 11:08:58 +03:00
Anthony Laibe 0856efff6f fix: resolve first tx of block
This is a workaround when fetching unknown tx without receiver
2024-02-21 13:28:26 +01:00
Pablo Lopez 3f19972c8e
enable custom community storenodes (#4532)
* enable custom community store nodes

* fix

* fix

* fix

* fix

* cleanup

* fix

* migration

* fix

* cleanup

* fix

* cleanup

* fix

* fix

* cleanup

* message to update the community storenodes

* rename

* fix test

* wait for availability only if global storenode

* fix test

* fix typo

* sync community storenodes

* remove unused

* add tests

* fix imports

* fix todo

* unused

* pr comments

* pr feedback

* revert merge deleted

* fix lint

* fix db and perform ms request

* typo

* fix log

* fix go imports

* refactor handle message

* cleanup public message

* add tests

* fix test

* cleanup test

* fix test

* avoid making one file to big to keep codeclimate from complaining

* fix lint

* revert

* Update protocol/storenodes/database.go

Co-authored-by: richΛrd <info@richardramos.me>

* Update protocol/messenger_mailserver_cycle.go

Co-authored-by: richΛrd <info@richardramos.me>

* PR comment

* fix tx

* proto files

* pr comment

---------

Co-authored-by: richΛrd <info@richardramos.me>
2024-02-20 17:49:39 +02:00
Roman Volosovskyi cc708ce0ce
[#4690] Nilable block range values for proper ranges management (#4691) 2024-02-19 16:50:07 +01:00
Cuteivist a866b8025e
feat: Community token received notification (#4682) 2024-02-19 14:55:38 +01:00
Omar Basem 54d0cf28c7
feat: mobile status.go - getRandomMnemonic (#4712)
* feat: mobile status.go - getRandomMnemonic (#4712)
2024-02-19 16:53:01 +04:00
Roman Volosovskyi 9e36df449e
Fix range for ERC20/1155/721 tx detection (#4746) 2024-02-19 11:50:03 +01:00
Igor Sirotin 85c0e282ae
feature: profile showcase preferences sync&backup (#4729) 2024-02-17 18:07:20 +00:00
Mohsen 8a3e71378f
feat: add setBio endpoint (#4692) 2024-02-16 15:57:41 +03:00
Igor Sirotin 789ee81201
fix: saved addresses sync (`TestSyncDeletesOfSavedAddresses` flaky test) (#4742) 2024-02-16 09:45:10 +00:00
Mikhail Rogachev 526e3d74f1
Feat: proof of membership for profile showcase communities (#4713)
* chore: move profile showcase structures to the indentity package

* feat: implement proof of membership for unecrypted communities

* feat: implement proof of membership for encrypted communties with grants
2024-02-15 22:13:12 +03:00
Dario Gabriel Lipicar 12d70e0ce4 fix: notify collectible data update when transferID is set 2024-02-15 12:05:07 -03:00
Roman Volosovskyi 7f6f8b3f7c
Add tokens metadata on FetchOrGetCachedWalletBalances call 2024-02-15 14:19:19 +01:00
Anthony Laibe e0814a488f feat: add sepolia token 2024-02-14 11:11:46 +01:00
Sale Djenic 598d58f0d6 fix: a proper clock set when dispatching saved addresses 2024-02-13 17:39:10 +01:00
Stefan e9ff0fbefe feat(wallet) add GetMoreForFilterSession API method
Also fix StopFilterSession to always notify client

Updates #12120
2024-02-13 17:37:44 +01:00
Jonathan Rainville 1c42c07760
feat(discord_import): send signal when the import was cleaned up (#4693)
This is to let the front end know that the community was deleted so it can also delete it from the UI
2024-02-12 16:04:12 -05:00
Stefan ca973b4aa6 feat(wallet) use sql activity filter for incremental updates
Switch from the prototype of duplicating the SQL filter as a runtime
and keeping them in sync on each event that might invalidate the current
filtered entries to a simpler approach of requesting the filter again
and doing the diff to detect the new changes.

Also add a new reset API to model the new entries design requirements.

The new approach shows less corner-case to handle and follows one source
of truth concept making debugging and future maintenance easier.

Other changes

- Fix pending mocking to work with multiple calls
- Refactor tests to account for the new changes

Updates status-desktop #12120
2024-02-12 19:29:15 +01:00
Roman Volosovskyi af16669787
Fetch balances when db cache doesn't exist (second attempt) (#4714) 2024-02-12 13:29:31 +01:00
Roman Volosovskyi 76d58ba7f0
Fetch balances when db cache doesn't exist (#4710) 2024-02-12 10:10:28 +01:00
Roman Volosovskyi 005e7e6ee4
Fix nonce change detection (#4679) 2024-02-08 12:54:04 +01:00
Icaro Motta dd03b628af Add function docstring 2024-02-07 20:10:49 +00:00
Icaro Motta 4f8a66fc07 Create endpoint to get permissioned balances 2024-02-07 20:10:49 +00:00
Dario Gabriel Lipicar 9c89409c94 fix: use opensea only as last resort collectibles provider
Fixes #13442
2024-02-07 12:27:23 -03:00
Mohsen 70ee70a19a
feat: implement new endpoint to set customization color (#4568) 2024-02-07 18:20:54 +03:00
Anthony Laibe 101f1aeca3 feat: add support for erc1155 2024-02-07 11:59:32 +01:00
Dario Gabriel Lipicar 058fa629a0 feat(wallet): add contract type to collectibles 2024-02-06 13:35:01 -03:00
Roman Volosovskyi d5a10a97f1
[#4646] Return l2 block number when calling BalanceChecker on Arbitrum (#4668) 2024-02-02 12:52:52 +01:00
Roman Volosovskyi 9b10b29da2
[#4630] Add wallet_fetchOrGetCachedWalletBalances method (#4666) 2024-02-02 11:42:56 +01:00
Anthony Laibe 9c131edfaa feat: token list updated at global 2024-02-02 11:30:42 +01:00
Stefan 812910f087 feat(wallet): Add session-based activity API for dynamic updates
This commit introduces the first steps towards implementing a session-based activity API to support dynamic updates of the current visualized filter in the wallet activity service. This change is necessary to move away from static paginated filtering, which was previously done in SQL, to a more dynamic approach that can handle updates in real-time.

The main changes include:
- Add basic `EventActivitySessionUpdated` support for pending transactions.
- Added a `TODO.md` file outlining the plan and requirements for dynamic activity updates.
- New session-related API to the `activity.Service`
- `session.go` contains the logic for session management and event processing related to activity updates.
- Add test case for incremental filter updates.

The commit also includes:

- various other minor changes and refactoring to support the new session-based approach.
- Deprecation notices added to the `api.go` file for methods that are no longer used by the status-desktop application.
- Clarification comments added to the `scheduler.go` file regarding replacement policies.

Updates: #12120

ghstack-source-id: a61ef74184
Pull Request resolved: https://github.com/status-im/status-go/pull/4480
2024-02-01 19:55:06 +01:00
Stefan 21e6914a3c fix(wallet) fix reading amount for pending transactions
The reading of the amount for pending transactions was done in the same
way as for transfers table. However, the transfers table has a string
hex representation of the amount, while the pending transactions table
has a binary representation of the amount (*big.Int). This was
triggering the not int warning and value was missing.

Updates status-desktop #12120
2024-02-01 18:28:55 +01:00
Roman Volosovskyi 241595a871
[#4649] Do not restart reactor when it is already running (#4663) 2024-02-01 17:26:40 +01:00
Stefan 31a2d403ef fix(wallet) prioritize type SendAT for pending entries in activity
In case both to/from addresses are present in the list we were using
the same logic as for transfers. However, this doesn't make sense given
that we can have only one entry in pending activity.

The following cases are still covered

- When the receiver is in addresses we get received
- When both receiver and sender are in the list will get sent
- When the sender is on the list we will get sent

Updates status-desktop #12120
2024-02-01 16:59:09 +01:00
Ivan Belyakov e4745d01b4 fix(wallet): handle BlobTxType transaction.
Update go-ethereum version

Closes #4636
2024-01-31 10:06:14 +01:00
Ivan Belyakov 7d1927396a fix(wallet): do not return gas-only ETH entries of transfers table for
activities request

Closes #4618
2024-01-30 11:37:53 +01:00
Roman Volosovskyi dad2ec3f66
[#4640] Temporary fetch l2 block number for Arbitrum networks separately from BalanceChecker (#4644) 2024-01-30 10:09:44 +01:00
Anthony Laibe 0808b780f7 feat: add sepolia optimism 2024-01-30 08:57:06 +01:00
Sale Djenic 6403a7413b feat: new endpoint added which returns accounts of all contacts that match the passed address 2024-01-29 13:15:24 +01:00
Ivan Belyakov f6c219c839 fix(wallet): Made loadBlocksAndTransfers command FiniteCommand to
keep restarting on error non-stop, removed some tests accordingly.
Fixed a flaky test for loadBlocksAndTransfers command.
Added tests for async.AtomicGroup.
Made tranfersCommand FiniteCommandWithErrorCounter to prevent infinite
restart.
2024-01-26 17:50:31 +01:00
Ivan Belyakov 95b148a247 fix(wallet): handle errors in findBlocksCommand and
findNewBlocksCommand gracefully.
Add ErrorCounter type for async package.
Add tests

Closes https://github.com/status-im/status-desktop/issues/11074
2024-01-26 17:50:31 +01:00
Roman Volosovskyi 71ae7ca1a0
[#4604] Skip balance requests on checking nonce (#4629) 2024-01-26 13:57:16 +01:00
Roman Volosovskyi 9b7eec0edb
[#4603] Get rid of fetchLatestBlockNumberCommand (#4614) 2024-01-25 13:05:59 +01:00
Roman Volosovskyi 647c3b0fd8
[#4605] Skip nonce check when possible during tx detection 2024-01-24 11:31:14 +01:00
Anthony Laibe 1017d2bc16 fix: query only header for fees 2024-01-23 15:24:39 +01:00
Patryk Osmaczko bf5dcacdeb refactor: introduce `newTestMessenger`
This avoids duplication and enables better configuration possibilities
for clients.

Next step is to cleanup all `newMessenger` derivatives in tests.
2024-01-22 13:08:58 +01:00
Ibrahem Khalil 436d229856
Add last opened at key for community (#4514) 2024-01-21 12:55:14 +02:00
Roman Volosovskyi 9c0526f7d9
[#4202] Detect balance and erc20 transfers by a single contract call (#4508) 2024-01-19 16:57:04 +01:00
Siddarth Kumar 926f6a3c72 Revert "test: bump go-libp2p"
This reverts commit d0ca4447c6.
2024-01-18 20:29:33 +00:00
Dario Gabriel Lipicar 0d2c3cef7c feat: implement token management settings for collectibles 2024-01-18 11:46:35 -03:00
Richard Ramos d0ca4447c6
test: bump go-libp2p 2024-01-18 14:28:06 +00:00
Dario Gabriel Lipicar b38e2c9278 feat(wallet): add collectibles filter option tokenIDs 2024-01-18 11:14:02 -03:00
Roman Volosovskyi 0bd4a06edc Comment out all logged flaky tests 2024-01-18 06:36:12 +00:00
IvanBelyakoff 3a4dfff20b
fix(wallet): fix blocks ranges update error, add tests (#4560)
Fixes #4559
2024-01-17 12:08:56 +01:00
Dario Gabriel Lipicar 1924828f8d fix: disable Goerli in the OpenSea client 2024-01-16 12:05:06 -03:00