177 Commits

Author SHA1 Message Date
Sale Djenic
1cdcc0dcc2 chore_: tests for router candidates added 2024-06-26 11:02:13 +01:00
Sale Djenic
d1f8064437 chore_: typo in disabledToChaindIDs parameter name resolved 2024-06-26 11:02:13 +01:00
Anthony
fb261e4a0e feat_: change how we compute fees 2024-06-20 10:30:01 +02:00
Ivan Belyakov
bd816f1e29 chore(wallet)_: tests for wallet.Reader fetching balances
chore(wallet)_: split getWalletTokenBalances into multiple functions

Removed some unused balances methods from wallet API

chore(wallet)_: refactored FetchOrGetWalletTokenBalances

- getWalletTokenBalances only returns cached ones
- update of balances is done in a separate method

chore(wallet)_: fix isVisible in getWalletTokenBalances is overwritten

It is overwritten and in some cases its value is desrespected

chore(wallet)_: simplify getWalletTokenBalance even further

chore(wallet)_: remove accountsDB from wallet.Reader

Call GetTestNetworkEnabled from NetworkManager instead

chore(wallet)_: remove rpc.Client from wallet.Reader.

Added GetActiveNetworks() method for NetworkManager
Removed adding native tokens from networks, as this is done already
in NetworkManager

chore(wallet)_: moved Persistence to token package

As it works with token_balances table, moved Persistence to token package.
Fixed TokenManager's Mark/Get previously owned tokens to use persistence
storage instead of direct SQL calls.
Introduced StorageToken that aggregates Token type, because when
Persistence moved to token package, names clash

test(wallet)_: tests for wallet.Reader.FetchorGetCachedBalances
2024-06-19 16:57:50 +01:00
Sale Djenic
9c3b49b866 chore_: celer bridge disabled, due to making correct routes using a single (hop) bridge 2024-06-14 15:44:38 +02:00
Stefan
9901ac9b9d feat(dapps)_: expose SignTypedDataV4 API to be used by dapps
Updates: #14927
2024-06-14 10:06:12 +02:00
Godfrain Jacques
892fcffce4
chore(communities)_: make member use wallet tokens during permission checking (#5268)
fixes #14913
2024-06-11 14:00:04 -07:00
Patryk Osmaczko
ec9e29ef92 chore(communities)_: reevaluate permissions with pre-fetched owners
That's an optimisation. Instead of fetching collectibles owners for each
member, it is fetched once, before members iteration.

It should significantly reduce amount of queries to providers.

closes: status-im/status-desktop#14914
2024-06-07 23:46:20 +02:00
Sale Djenic
07cf6cd52d chore_: Bridge interface renamed to PathProcessor interface and necessary changes applied due to that change 2024-06-07 15:50:38 +02:00
Sale Djenic
fe21fd9e97 chore_: bridge moved to router 2024-06-07 15:50:38 +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
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
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
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
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
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
Ivan Belyakov
ed164e4ac5 chore(wallet)_: clean up wallet API send and sign transactions 2024-05-09 18:11:58 +02: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
Sale Djenic
7b09ee073d feat: swap via paraswap 2024-04-08 10:14:48 +02:00
Dario Gabriel Lipicar
58b57b12a3 feat: implement search api
Issue #13921
2024-03-18 10:22:00 -03: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
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
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
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
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
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: a61ef74184bbf826a748a3b8e6934a08a1c4bd86
Pull Request resolved: https://github.com/status-im/status-go/pull/4480
2024-02-01 19:55:06 +01:00
Sale Djenic
280f48877d chore(savedaddresses)!: favourite property removed and primary key updated
- favourite column removed from the saved_addresses table
- favourite property removed from the SavedAddress struct
- ens name removed from the primary key, the primary key now is composed of address and is_test columns
- ens parameter removed from wakuext_deleteSavedAddress
- wallet_getSavedAddresses moved to wakuext_getSavedAddresses (to keep them all in a single place)
- saved addresses related endpoints removed from the wallet service, even they logically belong there, a reason for that
is avoiding emitting sync message if one uses calls from the wallet service, while that's not the case in ext service. Once
we refactor this and introduce devices syncing mechanism in the wallet service, we should not only these but other wallet
related endpoints move there (removed: wallet_getSavedAddresses, wallet_addSavedAddress and wallet_deleteSavedAddress).

Affected area:
Saved addresses
2024-01-10 19:30:56 +01:00
Anthony Laibe
6599be1721 feat: balance endoint without market data 2024-01-08 10:23:44 +01:00
Anthony Laibe
8cbdc80758 feat: expose token balance API 2023-12-21 08:52:29 +01:00
Dario Gabriel Lipicar
959dcbdea5 feat: lazy load collectibles metadata 2023-12-19 21:27:20 -03:00
Sale Djenic
d2ae23f466 chore(walletconnect)_: record wallet sessions instead of pairings 2023-12-14 12:58:27 +01:00
Sale Djenic
12ba1bdf69 feat(walletconnect)_: support for auth request 2023-12-06 17:28:09 +01:00
Sale Djenic
cfa542378d chore(walletconnect)_: various improvements applied
- `WalletConnectTransfer` identified as a new transfer type
- Wallet-related endpoints that logically belong to the wallet moved from the wallet connect service
- Wallet connect service now receives `transfer.TransactionManager` instead of `transactions.Transactor`
- Deadlock issue when trying to send the tx with the wrong nonce fixed
2023-12-04 11:18:38 +01:00
Stefan
99f4d621e0 feat(wallet): add Wallet Connect state change API
Updates status-desktop #12858
2023-11-29 19:22:38 +01:00
Sale Djenic
dea0b62650 feat(wallet)_: common endpoints added to wallet api
- `SignMessage`
- `BuildTransaction`
- `SendTransactionWithSignature`
2023-11-29 15:34:44 +01:00
Cuteivist
ecbb1cb4e0
fix: Handle balance for all accounts (#4261) 2023-11-29 12:20:18 +01:00
Sale Djenic
8641ec5dd5 feat(walletconnect)_: ethereum rpc calls support
Reference: https://docs.walletconnect.com/advanced/rpc-reference/ethereum-rpc
2023-11-27 10:49:23 +01:00
Stefan
a855f9e3e8 feat(wallet) WalletConnect: track pairings in DB
Add new APIs to track if valid pairings are available to be used
by application not to run WalletConnect SDK if not needed.

Closes status-desktop: #12794
2023-11-24 09:44:27 +01:00
Sale Djenic
5e2af9e4fa feat(walletconnect)_: support the tx and personal signing from within the app or keycard 2023-11-22 09:46:50 +01:00
Dario Gabriel Lipicar
6f84207d3a feat: allow specifying fetch criteria for owned collectibles 2023-11-17 16:17:50 -03:00
Dario Gabriel Lipicar
823fe76fc3 feat: allow different data types in collectibles requests 2023-11-17 16:17:50 -03:00
Dario Gabriel Lipicar
e17d4606b1 fix: implement cancellable collectibles requests 2023-11-17 10:35:30 -03:00
Stefan
b994cedfc3 feat(wallet) implement Wallet Connect sign APIs
add WalletConnect support for signing session events

- implement `eth_sendTransaction`
- implement `personal_sign`

Also fix exposing unusable accounts

Updates status-desktop #12637
2023-11-15 15:52:02 +01:00