Commit Graph

1322 Commits

Author SHA1 Message Date
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