1339 Commits

Author SHA1 Message Date
Dario Gabriel Lipicar
80f25d5ff7 fix: misc collectibles fixes 2023-10-05 09:40:18 -03:00
Roman Volosovskyi
6a110ca3df
[#3930] Make sure eth_getLogs for outgoing transfers are not executed for erc20 tail 2023-10-05 11:44:09 +02: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
Michal Iskierko
c85a110a31 feat(CommunityTokens): New deployment contracts and handling signer pub key
New contracts and contract go functions.
Adjust owner&master tokens deployment flow.
Create deployment signature.
CommunityTokens API for handling signer pubkey.

Issue #11954
2023-10-04 11:33:57 +02:00
Patryk Osmaczko
53423e58ba fix: use proper migrations for protocol's test database
- use `appdatabse.DbInitializer{}` in tests to ensure consistent migrations

- remove protocol's open database functions due to improper
  initialization caused by missing node config migration

- introduce `PushNotificationServerConfig` to resolve cyclic dependency
  issues
2023-10-03 15:11:58 +02: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
Roman Volosovskyi
382fcde74e
Scanning of ERC20 tail of transfers history 2023-10-01 10:09:11 +02:00
Dario Gabriel Lipicar
bd6f9b098b feat: implement collectible connection status 2023-09-27 16:44:37 -03:00
Dario Gabriel Lipicar
ba1f8ba923 feat: add api to refetch owned collectibles 2023-09-27 16:44:37 -03:00
Dario Gabriel Lipicar
ba5cd9c1a4 feat(wallet): add community info to collectibles 2023-09-22 17:55:30 -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
579f7e4a52 chore(wallet) optimize the filer query
Main changes:

- Use tr_type instead of IN clause
- Use binary (X'...' syntax) directly into the query instead of
  converting DB values to HEX
  - Found to be slightly faster than query parameters in the dedicated benchmark
  - Didn't see much improvement in filter benchmarks
- Tried various combinations of optimizations but without impressive performance results

Benchmark results:

| Name                   | Original   | tr_type   | join     | hex      | no-db     | db_only   |     last |    net_j |
|:-----------------------|:-----------|:----------|:---------|:---------|:----------|:----------|---------:|---------:|
| RAM_NoFilter-10        | 49580229   | 51253242  | 51112462 | 50915133 | 121217817 | 141691008 | 50908642 | 50239712 |
| SSD_NoFilter-10        | 49963604   | 51393588  | 51213038 | 50881483 | 120785679 | 141063467 | 50462767 | 49676867 |
| SSD_MovingWindow-10    | 53695712   | 54155292  | 54161733 | 54061325 | 126966633 | 146866017 | 53479929 | 53350475 |
| SSD_AllAddr_AllTos-10  | 41382804   | 41195225  | 51684175 | 52107262 | 64348100  | 97608833  | 50523529 | 49968321 |
| SSD_OneAddress-10      | 34945275   | 35103850  | 31066429 | 31328762 | 50927300  | 54322971  | 30098529 | 30252546 |
| FilterSend_AllAddr-10  | 39546808   | 37566604  | 38389725 | 38260738 | 114820458 | 125588408 | 37127625 | 36864575 |
| FilterSend_6Addr-10    | 41221458   | 41111225  | 40848288 | 40135492 | 118629700 | 128200467 | 38942521 | 39012100 |
| FilterThreeNetworks-10 | -          | -         | -        | -        | -         | -         | 50058929 | 49854450 |

Update status-desktop: #11036
2023-09-21 13:56:44 +02:00
Cuteivist
bc4093299e
feat: Filter by collectibles (#4028) 2023-09-21 08:58:36 +02:00
Michał
4cab5b6106
feat: expose raw token's balance (#4030) 2023-09-20 12:48:08 +02:00
Cuteivist
d29c6c5b6f
feat: Calculate finalize status and filter by it (#3969) 2023-09-20 10:30:31 +02:00
Roman Volosovskyi
1dca3adb89
Basic test for findBlocksCommand 2023-09-19 13:17:36 +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
Dario Gabriel Lipicar
e337ab4f13 feat: implement collectible ownership status 2023-09-15 18:55:09 -03:00
Dario Gabriel Lipicar
e502ba82ce feat: implement single account fetch on add and partial progress report 2023-09-15 18:55:09 -03:00
Dario Gabriel Lipicar
b4d5c22050 feat: implement collectibles ownership update timestamp db 2023-09-15 18:55:09 -03: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
Dario Gabriel Lipicar
eb8f3173e4 fix: proper openseaV2 detailed nft unmarshalling 2023-09-13 08:43:09 -03:00
Dario Gabriel Lipicar
8d1992d2e1 fix: protect token list with a mutex 2023-09-13 08:43:09 -03:00
Anthony Laibe
5d1c766382 perf: avoid call to market manager
Optimise call to market manager for symbol that are going to be displayed only
2023-09-13 08:55:35 +02:00
Anthony Laibe
1b07ecaaf7 fix: send nft in other network than mainnet 2023-09-12 16:28:12 +02:00
Anthony Laibe
01babe3632 feat: route-send-collectible 2023-09-12 14:02:42 +02:00
Stefan
195214765b fix(wallet) fix filter by activity type
The activity type filtering was not stable in relation to addresses
filter which was generating unexpected Send/Receive type in the
corner-case when both sender and receiver was in the address list.

Updates status-desktop #11960
2023-09-12 11:58:24 +02:00
Stefan
70341f85a5 fix(wallet) send/receive for duplicate transactions
Brings consistency in case when sender and receiver are both in the
filter address list. This fixes the case of sender and receiver in
addresses and filters out duplicate entries.

Also

- refactor tests to provide support for owners
- adapt TestGetActivityEntriesWithSameTransactionForSenderAndReceiverInDB
  to the use of owner instead of from
2023-09-12 11:58:24 +02:00
Cuteivist
e77fc59f5e
feat: Add activity filtering by contract deploy and minting (#4009) 2023-09-11 11:54:37 +02:00
Anthony Laibe
8ba9f38ce7 chore: mark api deprecated 2023-09-11 11:20:51 +02:00
Ivan Belyakov
81b94b7a4e fix(wallet): added ChainID to balance cache, as now it is shared between
services and contains balances for all addresses and chains.
Made rpc chain client return ChainID property on `NetworkID()` method
2023-09-07 15:00:19 +02:00
Cuteivist
83d1354845
chore: Use proper Gwei decimals (#3990) 2023-09-07 13:02:52 +02:00
Anthony Laibe
22fc83de59 feat: create unknown erc20 2023-09-07 10:04:58 +02:00
Stefan
555aae4d0f fix(wallet) filter by sub-transaction chain ID
Closes status-desktop #12077
2023-09-06 21:08:39 +02:00
Stefan
c3d2ff0723 chore(wallet) move filter activity sql query in a separate file
This should make the complex query more readable and maintainable
Embed the file content in the complied binary

Updates status-desktop #12077
2023-09-05 22:15:04 +02:00
Ivan Belyakov
20c585a621 fix(wallet): new transfers were not loaded in real time 2023-09-05 14:19:36 +02:00
Ivan Belyakov
24bf9aada5 feat(wallet): move balance cache to a common place and make it a
parameter to share between transfers and balance history in an upcoming
commit.
Had to refactor its interface for that reason.
2023-09-05 12:20:49 +02:00
Cuteivist
a0eb205ca9
feat: Estimate block number (#3973) 2023-09-04 12:18:46 +02:00
Stefan
c0f32748b4 feat(wallet) lazy load activity info optimization
Trigger async fetching of extra information on each activity filtering
request. Only emit the update event for incomplete entries.

Other changes:

- Make DataEntry light as event payload by making all the fields
  optional
- Add new required fields to the activity DataEntry
- Add collectibles.ManagerInterface to aid testing

Note: this PR keeps compatibility with current master by always
providing non-optional multi-transaction ID. The TODO will be executed
before merging the status-desktop PR.

Experienced a hang on FetchAssetsByCollectibleUniqueID call with:
[{{5 0x21263a042aFE4bAE34F08Bb318056C181bD96D3b} 1209},
{{5 0x9A95631794a42d30C47f214fBe02A72585df35e1} 237},
{{5 0x9A95631794a42d30C47f214fBe02A72585df35e1} 236},
{{5 0x9A95631794a42d30C47f214fBe02A72585df35e1} 832},
{{5 0x9A95631794a42d30C47f214fBe02A72585df35e1} 830},
{{5 0x9A95631794a42d30C47f214fBe02A72585df35e1} 853}]

Updates status-desktop #11597
2023-09-01 19:11:14 +02:00
Dario Gabriel Lipicar
d61677403a feat: add extra collection data to collectible header struct 2023-09-01 11:14:29 -03:00
Stefan
71800a19f1 fix(wallet) fix pending transactions notification
Also, add regression test.
2023-09-01 00:18:26 +02:00
Stefan
9cb5e1d3e6 chore(wallet) move computing totalFees to status-go
Updates status-desktop #11597
2023-08-30 13:59:52 +02:00
Ivan Belyakov
c24c3966e2 fix(wallet): balance history used a wrong db for accessing accounts.
Balance history was not checked for all chains if no history on
some chain.
Removed `SetInitialRange` from wallet API as internal implementation.
This method was called on adding a brand new Status account to initialize
blocks_range table to avoid transfers history checks.
2023-08-30 10:17:57 +02:00
Sale Djenic
3ab312f6d1 feat: added MigrateNonProfileKeycardKeypairToApp endpoint 2023-08-30 10:17:19 +02:00
Sale Djenic
57dea7b08d fix: saving/updating a keycard updates the accounts' operability
This commit skips deleting a keystore file for account which are not marked as fully operable
and also skips deleting master key keystore file if a keypair is non operable. It also takes into
consideration the operable property of an account when adding/updating/handling a keypair/keycard.

u3
2023-08-30 10:17:19 +02:00
Stefan
423991fb30 chore(wallet) lookup symbols for wallet activity filter
Updates status-desktop #11597
2023-08-29 17:25:48 +02:00
Andrea Maria Piana
4fba5647d1
Use NewContractMaker for messenger 2023-08-29 14:17:49 +01:00
Michal Iskierko
8425e6d238 feat(Collectibles): Change Collectibles service name to CommunityTokens.
Issue #12011
2023-08-29 11:01:01 +02:00
Cuteivist
dd3e408a4e
feat(wallet/activity): Added API for tx and multiTx details (#3939) 2023-08-24 14:23:40 +02:00