161 Commits

Author SHA1 Message Date
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
Anthony Laibe
5381ec4a76 feat: add token list 2023-11-15 09:02:36 +01:00
Stefan
36da204282 feat(wallet) add WalletConnect pair API
Updates #12551
2023-11-13 10:19:06 +01:00
Sale Djenic
05baec8bec fix: estimate gas function resoved that it uses real network estimation instead of hardcoded value 2023-11-06 18:30:42 +01:00
Cuteivist
05530f57bd
feat: Return only community tokens (#4249) 2023-11-03 13:08:32 +01:00
Dario Gabriel Lipicar
25d8c52dd5 feat: implement generalized collectibles filter 2023-11-02 11:14:20 -03:00
Roman Volosovskyi
42527723f2
[#4087] Omit history scanning on generated multiacc creation 2023-10-19 15:07:34 +02:00
Sale Djenic
b348cca15c feat: added functionality to ask a client to sign a transaction and an endpoint to continue sending using provided signature
This functionality is needed in case the user wants to send a transaction and
signs it using the signature provided by the keycard (or any other compatible way).
2023-10-17 19:42:06 +02:00
Dario Gabriel Lipicar
544e2ea76f feat: removed soon-to-be-deprecated openseaV1 client 2023-10-11 14:41:18 -03:00
Dario Gabriel Lipicar
94ae683bc2 fix: ensure full collectible list is fetched from a single provider 2023-10-11 14:41:18 -03:00
IvanBelyakoff
9d6577049f
Implemented balance history based on transfers (#4022)
* feat(wallet): implement balance history based on fetched transfers
* Added vendor 'ttlcache'
2023-10-04 15:00:12 +03:00
Cuteivist
ecc8b4cb55
feat: Wallet activity collectibles model (#4074) 2023-10-03 12:49:04 +02:00
Cuteivist
cff96f99e0
Bug: Refresh recipients model (#4076) 2023-10-02 13:46:05 +02:00
Dario Gabriel Lipicar
ba1f8ba923 feat: add api to refetch owned collectibles 2023-09-27 16:44:37 -03:00
Stefan
5c7748dbf7 feat(wallet) add API to cancel current activity filter
Closes status-desktop #11036
2023-09-21 13:56:44 +02:00
Stefan
ad971278d9 chore(wallet) remove activity filter dependency on accounts
Require that the activity filter is passed at least one account address
to extract type sent/received

Updates status-desktop #11980
2023-09-19 09:06:57 +02:00
Sale Djenic
6894295ac3 feat: register and maintain keycard local pairing file by status-go
Closes: #4003
2023-09-13 17:15:32 +02:00