Ivan Belyakov
9acabc6995
fix(wallet): start transfer controller to activate leftovers cleanup
2023-11-30 12:37:52 +01:00
Cuteivist
79f0d8a5ec
bug: Added missing out chain data ( #4303 )
2023-11-30 12:37:32 +01:00
Stefan Dunca
c433908834
fix(wallet) ignoring err in RowsAffected()
...
Co-authored-by: saledjenic <86303051+saledjenic@users.noreply.github.com>
2023-11-29 19:22: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
Ivan Belyakov
c0f2f76e9a
feat(wallet): remove transfers data on account removal
...
Closes: #4394
2023-11-29 16:17:21 +01:00
Sale Djenic
5e6768a42a
feat(ens-usernames)_: preparing release transaction data
2023-11-29 15:34:44 +01:00
Sale Djenic
adb79c5a82
chore(stickers)_: unused stickers_buy endpoint removed
2023-11-29 15:34:44 +01:00
Sale Djenic
dea0b62650
feat(wallet)_: common endpoints added to wallet api
...
- `SignMessage`
- `BuildTransaction`
- `SendTransactionWithSignature`
2023-11-29 15:34:44 +01:00
Dario Gabriel Lipicar
8b539cd400
feat: refresh balances when Eth or ERC20 transfer is detected
2023-11-29 09:16:03 -03:00
Cuteivist
ecbb1cb4e0
fix: Handle balance for all accounts ( #4261 )
2023-11-29 12:20:18 +01:00
Andrea Maria Piana
3ab1afaae8
feat_: Allow to set custom nodes & log level
2023-11-29 09:31:02 +00:00
Andrea Maria Piana
f48f9cccc6
feat_: Allow to set light client
2023-11-29 09:31:02 +00:00
Andrea Maria Piana
e1f61515ef
feat_: Add sync chat endpoint
2023-11-29 09:31:02 +00:00
Dario Gabriel Lipicar
472e4bdb77
feat: implement support for collectible provider Rarible
2023-11-27 20:30:18 -03:00
Mikhail Rogachev
31d0782f66
feat: Sync Mentions and Replies AC notifications and messages ( #4337 )
...
* feat: Marking Mentions and Replies AC notifications as read also marks corresponding message as seen
* feat: Marking message as seen marks as read corresponding notification (if there is so)
* chore: make messenger activity center test less flaky
* Update VERSION
2023-11-27 15:22:24 +04: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
Sale Djenic
d4ca8616fc
feat(walletconnect)_: support for session proposal for wc 2.0
2023-11-27 10:49:23 +01:00
Igor Sirotin
e32c5546e1
test: request community from storenode ( #4364 )
...
* feat: request community info from storenode test
* shutdownWaitGroup
* fix requestCommunityInfoFromMailserver timestamp roundin
2023-11-25 23:24:20 +00: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
Sale Djenic
5555f98dd5
chore(accounts)_: added two convenient functions to accounts
...
- `IsWalletNonWatchOnlyAccount`
- `IsWalletAccountReadyForTransaction`
2023-11-22 09:46:50 +01:00
Sale Djenic
e9f11f70dd
chore(wallet)_: proper release of locked nonce (unlock function call)
2023-11-22 09:46:50 +01:00
Dario Gabriel Lipicar
03cdb49c4c
feat: enable support for Arbitrum Sepolia in Opensea
2023-11-21 16:20:05 -03:00
Dario Gabriel Lipicar
00f412e4ac
feat: enable support for Arbitrum Sepolia in Alchemy
2023-11-21 16:20:05 -03:00
Dario Gabriel Lipicar
14a8df8948
feat: support alchemy sepolia api keys
2023-11-21 16:20:05 -03:00
Vitaly Vlasov
1794b93c16
Always set PubsubTopic in filters
2023-11-18 02:26:34 +02:00
Dario Gabriel Lipicar
c88ab45d76
fix: pass context in FindOrCreateTokenByAddress
2023-11-17 16:17:50 -03:00
Dario Gabriel Lipicar
5933376eda
feat: unify collectibles struct
2023-11-17 16:17:50 -03: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
a51f8aa13c
feat: backoff wallet community fetches after a failure
2023-11-17 10:35:30 -03:00
Dario Gabriel Lipicar
e17d4606b1
fix: implement cancellable collectibles requests
2023-11-17 10:35:30 -03:00
Igor Sirotin
2fef9a8f8f
feat: new `GetTextURLsToUnfurl` endpoint which extends GetURLs ( #4294 )
2023-11-17 13:32:37 +00:00
Dario Gabriel Lipicar
92a604f471
fix: fix alchemy collectible traits parsing
2023-11-16 15:49:13 -03:00
Anthony Laibe
cd03dd949e
fix: send erc20
2023-11-16 13:40:04 +01:00
Ivan Belyakov
f4fc0ea324
feat(wallet): remove old OnDemand transfer fetch strategy as it not
...
functional and not maintained any more and we will work on improvement
of SequentialFetchStrategy
2023-11-16 12:59:47 +01:00
Ivan Belyakov
b6ade53603
feat(wallet): detect ERC1155 batch transfers.
...
Refactored transfers loading to reduce blockchain RPC requests (getBaseFee, getTransaction,
getTransactionReceipt) by reusing preloaded transaction and block fee.
Split extraction of subtransaction from logs and from ETH transfer into
different methods.
Refactored log_parser to extract sender and receiver addresses
uniformly for different transfer types.
Replaced info logs with debug where needed.
closes #4221
2023-11-16 09:37:09 +01: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
Anthony Laibe
0345612a31
fix: use real id of token to estimate gas
2023-11-14 14:24:51 +01:00
Ivan Belyakov
57e370e7b9
feat(wallet): Added detection of ERC1155 SingleTransfer events
2023-11-13 20:19:57 +01:00
osmaczko
a584ab086a
Fix/timesource offline ( #4309 )
...
* fix: add missing callback cleanup in timesource
fixes: "panic: sync: negative WaitGroup counter"
part of: status-im/status-desktop#12691
* fix: ensure timesource.GetCurrentTime is non-blocking
closes : status-im/status-desktop#12691
2023-11-13 14:06:32 -05:00
Stefan
36da204282
feat(wallet) add WalletConnect pair API
...
Updates #12551
2023-11-13 10:19:06 +01:00
Igor Sirotin
a178d724b1
fix: correct parsing shared url without data ( #4283 )
2023-11-10 16:33:37 +00:00
Anthony Laibe
dc2d179692
fix: estimate gas for erc721
2023-11-10 16:11:05 +01:00
richΛrd
2c954d42cf
feat: replace DefaultPubsubTopic by Shard 32 ( #4161 )
2023-11-09 20:29:15 -04:00
Mikhail Rogachev
03c32f620f
feat: Profile showcase data sharing ( #4209 )
...
* feat: Add profile showcase messaging part with ecrypted data
* feat: Separate profile showcase categories to provide ablity to store custom data
* fix: review fixes
* feat: move profile showcase out of contact data
* fix: create index on contact id for profile tables
* chore: remove logger from link preview
2023-11-09 22:59:01 +04:00
Dario Gabriel Lipicar
337f3aefec
fix: add missing error check in currency service
2023-11-09 13:12:25 -03:00
Michal Iskierko
d909faf504
feat: add AC messages for setting signer operations
...
Issue #11964
2023-11-08 12:54:29 +01:00
Michal Iskierko
02e4cc6e1f
feat: Send envelopes to telemetry service
...
Issue #12430
2023-11-08 11:34:10 +01:00
Boris Melnik
1d08b403e6
feat(discord): Split import channel signals and community import signals ( #4232 )
2023-11-07 13:44:10 +03:00
Sale Djenic
ce121710d9
fix: unlock local nonce when an error occurs and increment only when the tx is sent for real
2023-11-06 18:30:42 +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
Igor Sirotin
c27384680a
feat: new configurable endpoint RequestCommunityInfoFromMailserverV2 ( #4238 )
...
* StatusUnfurler: use shard from url
2023-11-03 10:30:24 +00:00
Patryk Osmaczko
25f25e9853
chore: populate Community with PubsubTopicPrivateKey
...
part of: status-im/status-desktop#12408
2023-11-03 11:27:43 +01:00
Anthony Laibe
a0bd3c9a94
Fix: allow zero tx
...
If bonder fees are 0 there is no need to check if bonder fees are bigger or equal to amount to prevent impossible transaction
2023-11-03 09:22:29 +01:00
Sale Djenic
11a3612290
feat: support signing of a join/edit community request from within the app or keycard
2023-11-03 07:49:01 +01:00
Dario Gabriel Lipicar
25d8c52dd5
feat: implement generalized collectibles filter
2023-11-02 11:14:20 -03:00
Dario Gabriel Lipicar
c17829bf8d
fix: properly fill collectible community data
2023-11-02 11:14:20 -03:00
Cuteivist
f57c6a26b5
fix: Correct skip check statement ( #4248 )
2023-11-02 09:11:48 +01:00
yqrashawn
b65eda3f42
feat: new deeplink status-im->status-app ( #4198 )
2023-11-02 13:56:06 +08:00
Mykhailo Prakhov
eb437e9d8d
feat: kick all members after ownership change and auto-accept after sharing the address ( #4187 )
...
feat: kick all members after the ownership change and auto-accept after sharing the address
2023-10-31 15:20:40 +01:00
Cuteivist
3c5b0529c7
fix: Add network id for multi tx ( #4199 )
2023-10-30 10:03:29 +01:00
Cuteivist
fa5765cf83
fix: Update timestamp when upserting multi tx ( #4224 )
2023-10-30 07:53:22 +01:00
Dario Gabriel Lipicar
a38b34ae49
feat: cache community metadata in wallet
...
Fixes #12521
2023-10-26 17:36:45 -03:00
Dario Gabriel Lipicar
dca38d1d32
fix: small openseaV2 client fix
2023-10-26 17:36:45 -03:00
Cuteivist
e5fbe40b9a
fix: Show community token mint as Mint tx type ( #4214 )
2023-10-26 20:39:31 +02:00
Cuteivist
debf3b6e4d
feat: Added ERC20 community id ( #4189 )
2023-10-25 18:49:18 +02:00
Boris Melnik
8ae6e3035b
feat(discord): Import single channel from discord ( #4160 )
2023-10-25 12:32:21 -04:00
Roman Volosovskyi
9d59d889f6
[ #3833 ] Increase intreval of new blocks detection command
2023-10-25 14:45:06 +02:00
Mykhailo Prakhov
b08125890e
fix: SetSignerPublicKey return address with 0x prefix ( #4193 )
2023-10-24 22:17:02 +02:00
Andrea Maria Piana
bafdf08529
Fix account not being stored
2023-10-24 19:01:46 +01:00
Mikhail Rogachev
1be356af93
feat: Profile showcase backend ( #4005 )
...
* feat: profile showcase preferences basic impl
(squashed)
* feat: save preferences in batch for profile showcase
* chore: add validation for profile showcase settings request
and fix migration order
2023-10-24 14:43:18 +04:00
Jonathan Rainville
b6acf16fd1
fix(chat/api): make community chat creation more forgiving and accurate ( #4185 )
...
Fixes https://github.com/status-im/status-desktop/issues/12418
2023-10-23 15:08:28 -04:00
Patryk Osmaczko
345851c396
feat: ensure unique control node across devices
...
closes : status-im/status-desktop#11962
2023-10-22 21:50:41 +02:00
frank
624996a7e9
only sync decisions/state of AC notifications ( #3979 )
2023-10-22 17:41:20 +08:00
Roman Volosovskyi
42527723f2
[ #4087 ] Omit history scanning on generated multiacc creation
2023-10-19 15:07:34 +02:00
Cuteivist
9b44cf65ed
Update community solidity contracts ( #4166 )
2023-10-19 08:17:54 +02:00
Michal Iskierko
8ac26f8810
feat: use owner&master token addresses when deploying assets
...
Issue #12364
2023-10-18 14:09:05 +02:00
Patryk Osmaczko
0881d8cdb0
Add queue for processing community description & configurable control node
2023-10-17 21:00:24 +01: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
Anthony Laibe
21ddaa4b9f
feat: arbitrum sepolia
2023-10-17 09:28:13 +02:00
Michal Iskierko
f2464cccfd
fix: HandleCommunityTokensMetadata
...
Add all tokens in the loop.
Get MaxSupply instead of TotalSupply
Issue #12104
2023-10-15 20:32:47 +02:00
Igor Sirotin
aded258ccb
feature: Unfurl status links ( #4033 )
2023-10-13 13:25:34 +01:00
Richard Ramos
de5c7b8e5b
feat: shard fleet
...
Adds shard.test fleet and changes the non protected shard index to 64
2023-10-12 17:07:57 -04:00
Jonathan Rainville
de34ea37f2
fix(keycard_pairings): don't write the pairing file if content is empty ( #4113 )
...
Fixes https://github.com/status-im/status-desktop/issues/12342
2023-10-12 16:44:41 -04:00
richΛrd
ba5ed725ce
waku2: static shards ( #3944 )
...
- use protected topics for communities
- associate chats to pubsub topics and populate these depending if the chat belongs to a community or not
- mailserver functions should be aware of pubsub topics
- generate private key for pubsub topic protection when creating a community
- add shard cluster and index to communities
- setup shards for existing communities
- distribute pubsubtopic password
- fix: do not send the requests to join and cancel in the protected topic
- fix: undefined shard values for backward compatibility
- refactor: use shard message in protobuffers
2023-10-12 15:21:49 -04:00
Dario Gabriel Lipicar
2a5327d8d2
feat: emit event on received community collectibles
2023-10-12 15:42:45 -03:00
Roman Volosovskyi
778753bb57
Fix checking of ERC20 tail on new blocks scanning
2023-10-12 16:21:09 +02:00
Dario Gabriel Lipicar
28cfeb4bc8
feat: refresh collectibles when testnet mode setting changes
2023-10-12 10:18:25 -03:00
Dario Gabriel Lipicar
6d19e165d9
feat: send settings event when a setting is set through the API
2023-10-12 10:18:25 -03:00
Dario Gabriel Lipicar
c2ff377585
chore: moved accounts event watcher to accountsevent package
2023-10-12 10:18:25 -03:00
Cuteivist
5674a010cd
feat: Handle Status Mint transaction ( #4137 )
2023-10-12 12:21:03 +02:00
Dario Gabriel Lipicar
094228871e
feat: trigger collectibles refresh on transfer
2023-10-11 15:22:46 -03:00
Dario Gabriel Lipicar
addf6e4aaf
feat: implemented openseaV2 api changes
2023-10-11 14:41:18 -03:00
Dario Gabriel Lipicar
544e2ea76f
feat: removed soon-to-be-deprecated openseaV1 client
2023-10-11 14:41:18 -03:00
Dario Gabriel Lipicar
bc33f6d54c
feat: removed soon-to-be-deprecated Infura client
2023-10-11 14:41:18 -03:00
Dario Gabriel Lipicar
d1f63a8d71
feat: exponential backoff for Alchemy
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
Cuteivist
6798d1ac5c
feat: Handled token mint activity ( #4126 )
2023-10-11 07:10:08 +02:00
Anthony Laibe
39676c8c01
feat: add sepolia toggle
2023-10-09 12:55:29 +02:00
Ivan Belyakov
01526c344a
fix(wallet): new blocks were not found
2023-10-06 15:51:57 +02:00
Anthony Laibe
305b520994
fix: token balance
2023-10-06 11:47:23 +02:00
Roman Volosovskyi
d82c50b50a
[ #3930 ] Prevent repeated eth_getLogs calls (ERC20 history tail)
2023-10-05 19:45:40 +02:00
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
Dario Gabriel Lipicar
8d8bd4fc92
fix: handle opensea v2 api error for accounts holding no collectibles
2023-08-24 08:28:36 +02:00
Dario Gabriel Lipicar
c494904f18
fix: use all available providers when fetching collectibles by ID
2023-08-24 08:28:36 +02:00
frank
22cd90e878
Fix/wallet watcher panic ( #3940 )
...
* fix wallet watcher panic
* bump version
2023-08-24 10:57:10 +08:00
Richard Ramos
f9ec588c4e
feat: use protected topics for communities
...
refactor: associate chats to pubsub topics and populate these depending if the chat belongs to a community or not
refactor: add pubsub topic to mailserver batches
chore: ensure default relay messages continue working as they should
refactor: mailserver functions should be aware of pubsub topics
fix: use []byte for communityIDs
2023-08-23 13:56:00 -04:00
Sale Djenic
1f8a3d3f5a
feat: endpoint `MakePartiallyOperableAccoutsFullyOperable` added
2023-08-23 14:07:39 +02:00
Mykhailo Prakhov
86d969727f
feat: share CommunityTokens between privileged users ( #3931 )
...
feat: sync CommunityTokens between privileged users
feat: restore PrivilegeLevel for synchronized CommunityToken
2023-08-22 19:48:42 +02:00
Stefan
524c21834b
fix(wallet) propagate multi-transactions IDs to transfers
...
Mainly refactor API to have control on pending_transactions operations.
Use the new API to migrate the multi-transaction ID from to transfers
in one SQL transaction.
The refactoring was done to better mirror the purpose of pending_transactions
Also:
- Externalize TransactionManager from WalletService to be used by
other services
- Extract walletEvent as a dependency for all services that need to
propagate events
- Batch chain requests
- Remove unused APIs
- Add auto delete option for clients that fire and forget transactions
Updates status-desktop #11754
2023-08-22 18:39:42 +02:00
Stefan
afe0fcdcf4
fix(wallet) fix test on checking order of async task
...
Updates status-desktop: #11404
2023-08-22 18:39:42 +02:00
Andrea Maria Piana
8dd1b66d69
Always use protobufs by reference & generate handlers
2023-08-22 12:08:54 +01:00
Anthony Laibe
9d782edb4d
feat: wallet custom token with communities
2023-08-22 12:41:35 +02:00
Igor Sirotin
09a988607d
chore: Moved link preview unfurlers to a separate package ( #3917 )
...
* MessengerLinkPreviewsTestSuite
2023-08-21 22:31:32 +03:00
Jonathan Rainville
3bf0bed78d
Fix pending join requests + API to get them ( #3902 )
...
Needed for https://github.com/status-im/status-desktop/issues/11851
2023-08-18 15:52:13 -04:00
Sale Djenic
d05ce522f9
feat: transferring keystore files for selected keypair via local network
...
There is a desktop app feature where we need to transfer keystore files for selected
keypair/s only via local network using a QR code (of course, which are not migrated
to a keycard, otherwise we wouldn't need to do that).
2023-08-18 17:43:14 +02:00
Mykhailo Prakhov
d1db60918d
feat: owner and token master permissions ( #3912 )
2023-08-18 17:29:44 +02:00
Dario Gabriel Lipicar
ae17ad57c3
fix: change cursor of opensea v2 ownership endpoint
2023-08-18 11:55:39 -03:00
Dario Gabriel Lipicar
ad0e2c2450
feat: implement opensea v2 endpoints
2023-08-18 09:59:38 -03:00
Dario Gabriel Lipicar
3734f03645
chore: split collection data provider
2023-08-18 09:59:38 -03:00
Ivan Belyakov
ea38b788b3
tests: Added unit test for copying 'keypairs_accounts' table to the wallet db.
...
Added a unit test for changing app and wallet DBs passwords.
Refactored geth_backend to simplify and allow wallet db password changing.
Fixed opening database with wrong password.
2023-08-18 09:00:56 +02:00
Ivan Belyakov
2df9df10ab
fix(tests): moved test db setup to a common place 't/helpers', created
...
interface for initializing db, which is implemented for appdatabase and
walletdatabase. TBD for multiaccounts DB.
Unified DB initializion for all tests using helpers and new interface.
Reduced sqlcipher kdf iterations for all tests to 1.
2023-08-18 09:00:56 +02:00
Ivan Belyakov
d106b449b6
feat(wallet): move wallet-related tables to a dedicated db.
...
The only place where appDB is used in wallet is activity,
which refers to `keycards_accounts` table. So a temporary
table `keycards_accounts` is created in wallet db and updated
before each activity query.
2023-08-18 09:00:56 +02:00
Michal Iskierko
c4cd5775db
feat(MasterToken): Add MasterToken.go
...
Small refactoring in Collectibles service in order to make API code more simple.
Add TokenInstance interface with some common functions.
Implementations of TokenInstance for TokenMaster, Collectibles and Assets contracts.
Issue #11276
2023-08-16 11:31:12 +02:00
Dario Gabriel Lipicar
25ff1dd758
feat: make collectibles api support multiple clients
2023-08-15 10:17:10 -03:00
Dario Gabriel Lipicar
d6aae82566
chore: move multi-client scheduler implementation to separate file
2023-08-15 10:17:10 -03:00
Michal Iskierko
9d0acc2265
feat(OwnerToken): Owner token and master token deployment
...
Adding new smart contracts and generated go files.
Deploy token owner function and master token address getter.
Adding deployer and privilegesLevel columns to community_tokens table.
Passing addressFrom to API calls.
Issue #11250
2023-08-14 20:57:00 +02:00
Mikhail Rogachev
0950721a6d
feat: add 'GetCommunityMembersForWalletAddresses' endpoint ( #3854 )
...
For https://github.com/status-im/status-desktop/issues/11143
2023-08-14 12:59:02 +04:00
Sale Djenic
6ee7038809
fix: synced from field updated if recovered keypairs made fully operable
2023-08-10 16:09:29 +02:00
Jonathan Rainville
b4b0d26aa4
feat(api): add api to get members revealed accounts ( #3864 )
2023-08-09 11:08:20 -04:00
Dario Gabriel Lipicar
4b394e088e
fix: minor collectible provider fixes
2023-08-09 11:21:59 -03:00
Dario Gabriel Lipicar
cd83a5fe00
chore: make use of new collectibles data DB
2023-08-09 11:21:59 -03:00
Dario Gabriel Lipicar
33c116f7b1
chore: implement collectibles data db cache
2023-08-09 11:21:59 -03:00
Pascal Precht
4b07960fba
feat: rehydrate community_tokens table upon account recovery
...
Closes https://github.com/status-im/status-desktop/issues/11188
2023-08-09 13:38:59 +02:00
Sale Djenic
70c29a828e
feat: new endpoints added
...
- `HasPairedDevices`
- `MakePrivateKeyKeypairFullyOperable`
- `MakeSeedPhraseKeypairFullyOperable`
2023-08-09 10:31:11 +02:00
Dario Gabriel Lipicar
e30cba4303
fix: parse collectible ownership response from v3 alchemy endpoint properly
...
Fixes #11832
2023-08-08 13:20:36 -03:00
Volodymyr Kozieiev
7560540392
Regularly update the list of curated communities ( #3827 )
...
Regularly update the list of curated communities
2023-08-07 13:54:00 +01:00
Patryk Osmaczko
ce82a8c0e5
chore: remove community invitations
2023-08-05 11:49:00 +02:00
Dario Gabriel Lipicar
d5974dd52e
feat: fetch collection metadata when missing
2023-08-04 09:54:18 -03:00
Cuteivist
1f510eae70
fix: Query token id for transactions ( #3851 )
2023-08-04 13:40:36 +02:00
Cuteivist
06c4eb5df9
feat: Handle collectible mint ( #3852 )
2023-08-04 12:47:22 +02:00
Igor Sirotin
bbb8e99492
Fix syncing `blocked` contacts ( #3799 )
...
* fix(messenger_testing_utils): Always return response
* feat: test blocking/unblocking contacts with paired devices
* fix: Remove recursive sync on contact blocking
* rename `syncing` flag to `fromSyncing`
2023-08-04 13:41:24 +03:00
Dario Gabriel Lipicar
078f71a235
feat: use new collectible account ownership providers
2023-08-03 12:53:00 -03:00
Dario Gabriel Lipicar
c92a10b846
feat: implement alchemy and infura collectible account ownership endpoints
2023-08-03 12:53:00 -03:00
Dario Gabriel Lipicar
51d676bb08
chore: reorganized collectibles clients code
2023-08-03 12:53:00 -03:00
Dario Gabriel Lipicar
c2ac108556
chore: rework data structures to accomodate new providers
2023-08-03 12:53:00 -03:00
frank
60143556ff
add api to create community for testing ( #3818 )
2023-08-03 08:24:11 +08:00
Jonathan Rainville
9267e58143
feat(api): add GetCommunityPublicKeyFromPrivateKey to api ( #3828 )
2023-08-02 13:11:26 -04:00
Anthony Laibe
0cd140c9b2
feat: change network selection strategy
...
1) Only fetch history for networks that match test mode enabled
* Trade Off: it will be only refetch in 12 hours so changing test mode won't trigger a refetch until app is restarted or 12 hours.
I think it is ok as change test mode is not a common use case
2) Do not consider networks that are enabled or not as this can be change more often than every 12 hours
2023-08-02 12:45:37 +02:00
Michal Iskierko
1592d2a079
feat(RemoteDestructedAmount): Add RemoteDestructedAmount function
...
Issue #1182
2023-08-02 12:19:03 +02:00
Mikhail Rogachev
4ad84d80cc
feat: Collecting community messages count metrics ( #3802 )
...
* feat: proposal for collecting community metrics
https://github.com/status-im/status-desktop/issues/11152
* feat: collecting community message metrics with test
* feat: implement both strategies for fetching community metrics
* fix: review fixes
* fix: calc counts for timestamps
2023-08-01 17:08:57 +04:00
Anthony Laibe
21d9d17cdc
chore: reduce batch size for goerli arbitrum/optimism
2023-08-01 13:37:45 +02:00
Stefan
eb8d74e1ae
feat(wallet) add request id to activity events
...
Add and use the optional chainID in the wallet event structure.
Updates status-desktop #11380
2023-07-31 18:22:13 +02:00
Anthony Laibe
a139871383
fix: celer check on tokens
2023-07-31 13:16:33 +02:00
Dario Gabriel Lipicar
10a42e639d
feat: parallel collectibles fetching per account and chain
2023-07-27 12:12:03 -03:00
Dario Gabriel Lipicar
57424e076c
chore: moved collectibles ownership cache to db
2023-07-27 12:12:03 -03:00
Dario Gabriel Lipicar
85d8e83394
feat: trigger collectibles fetch on new account
2023-07-27 12:12:03 -03:00
Dario Gabriel Lipicar
5ba5611a8d
feat: implement collectibles service
2023-07-27 12:12:03 -03:00
Dario Gabriel Lipicar
b1cf54974e
chore: make opensea client return common types
2023-07-27 12:12:03 -03:00
Dario Gabriel Lipicar
849be69299
chore: use single opensea client instance
2023-07-27 12:12:03 -03:00
Dario Gabriel Lipicar
f138964a9c
chore: move scheduler to async dir
2023-07-27 12:12:03 -03:00
Dario Gabriel Lipicar
b5224b3cc5
chore: rename and reorder types
2023-07-27 12:12:03 -03:00
Patryk Osmaczko
0465ab668d
fix: populate API Chat with channel members
2023-07-27 11:35:59 +02:00
Patryk Osmaczko
fa5b316324
chore: deprecate InviteUsersToCommunity
2023-07-27 08:45:01 +02:00
Pascal Precht
3d1b1bab57
feat: introduce messenger API to remove community tokens
...
This is to allow users to remove a community token if the deployment
transaction has been rejected.
2023-07-26 15:57:08 +02:00
Pascal Precht
e8bac916ec
!refactor: introduce `SaveCommunityToken()` and change `AddCommunityToken()`
...
**This is a breaking change!**
Prior to this commit we had `AddCommunityToken(token *communities,
croppedImage CroppedImage)` that we used to
1. add a `CommunityToken` to the user's database and
2. to create a `CommunityTokenMetadata` from it which is then added to
the community's `CommunityDescription` and published to its members
However, I've then discovered that we need to separate these two things,
such that we can deploy a community token, then add it to the database
only for tracking purposes, **then** add it to the community description
(and propagate to members) once we know that the deploy tx indeed went
through.
To implement this, this commit introduces a new API
`SaveCommunityToken(token *communities.CommunityToken, croppedImage
CroppedImage)` which adds the token to the database only and doesn't
touch the community description.
The `AddCommunityToken` API is then changed that it's exclusively used
for adding an already saved `CommunityToken` to the community
description so it can be published to members. Hence, the signature is
now `AddCommunityToken(communityID string, chainID int, address
string)`, which makes this a breaking change.
Clients that used `AddCommunityToken()` before now need to ensure that
they first call `SaveCommunityToken()` as `AddCommunityToken()` will
fail otherwise.
2023-07-26 14:45:02 +02:00
Stefan
d956a3e854
feat(wallet) chain id multi-transaction filtering
...
Updates status-desktop #11631
2023-07-26 13:54:55 +02:00
Anthony Laibe
e5ce2c7c03
feat: make activity check optional
2023-07-26 09:07:55 +02:00
Sale Djenic
20bc27619b
fix: function name change
...
`GetWatchOnlyAccounts(includeRemoved bool)` removed
`GetActiveWatchOnlyAccounts()` added
`GetAllWatchOnlyAccounts()` added
2023-07-26 08:23:55 +02:00
Sale Djenic
6a5cdbaa8b
fix: review comments applied
...
`GetKeypairs(includeRemoved bool)` removed
`GetActiveKeypairs()` added
`GetAllKeypairs()` added
`GetAccounts(includeRemoved bool)` removed
`GetActiveAccounts()` added
`GetAllAccounts()` added
2023-07-25 18:11:05 +02:00
Sale Djenic
d5bba5d80f
chore: wallet accounts improvements - soft delete
2023-07-25 18:11:05 +02:00
Sale Djenic
7c72d5ec99
fix: discard backed up messages if `ProcessBackedupMessages` is not set to `true`
...
If user followed onboarding flow to recover his account using seed phrase or keycard,
then `ProcessBackedupMessages` property of node config json object should be set to
`true`, otherwise it should be set to `false` or be omitted.
2023-07-25 07:50:43 +02:00
Mikhail Rogachev
631962ce88
feat: add api to remove private key ( #3772 )
...
* feat: add api to remove private key and separete owner from private key ownership
For https://github.com/status-im/status-desktop/issues/11475
* feat: introduce IsControlNode for Community
* feat: remove community private key from syncing
* feat: add IsControlNode flag to Community json serialisation
* Update protocol/protobuf/pairing.proto
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
---------
Co-authored-by: Jonathan Rainville <rainville.jonathan@gmail.com>
2023-07-21 13:41:26 +04:00
Cuteivist
84bfdf4aab
feat: Add contract deployment tx type ( #3770 )
2023-07-20 16:04:30 +02:00
Sale Djenic
543b087896
fix: wallet accounts ordering improvements
2023-07-20 14:32:41 +02:00
Stefan
8926990c2d
chore(wallet) retrieve all required activity header data as metadata
...
Add missing fields to activity metadata.
Updates status-desktop #11173
2023-07-20 11:34:41 +02:00
John Ngei
cf2d72bfa8
Mute and Unmute community
...
* mute and unmute all community chats when community mute status changes
* unmute community when atleast one channel is unmuted
* fix: save community, extend the function to save muted state and mute duration
2023-07-19 15:14:42 +03:00
Dario Gabriel Lipicar
1f379aec1f
feat: implemented multi chain collectible ownership provider
2023-07-19 07:58:05 -03:00
Michal Iskierko
7d9092e295
fix(Collectibles): Trigger transaction event when creating transaction
...
Issue #11565
2023-07-18 16:21:20 +02:00
frank
71ca35bf34
Feat/sync customization color ( #3702 )
...
* sync customization color
* addressed feedback from @cammellos
* add param customizationColorClock to function generateOrImportAccount
2023-07-18 21:35:06 +08:00
Anthony Laibe
0f8347dc59
feat: get chain id for url api
2023-07-18 13:50:13 +02:00
Stefan
64f7706567
chore(wallet) index activity filter columns to speed up queries
...
Implemented required benchmarks
Also
- refactor tests as needed
- don't filter temporary or incomplete transfers (transfers.loaded != 1)
Updates status-desktop #11351
2023-07-14 16:11:14 +02:00
Stefan
e6705f264c
chore(wallet) refactor activity tests
2023-07-14 16:11:14 +02:00
Dario Gabriel Lipicar
40eed0fd01
fix: ensure correct initialization order for wallet and mesenger services
2023-07-13 16:16:31 -03:00
Anthony Laibe
104d9c8ff6
feat: add related chain id to networks ( #3697 )
2023-07-13 16:03:49 +02:00
Stefan
8bfcb80ed6
fix(wallet) fix scan to/from hash when for multi_transactions
2023-07-13 00:24:36 +02:00
Dario Gabriel Lipicar
9ee523be99
fix: remove unsupported chainIDs from opensea client
2023-07-12 15:49:18 -03:00
Michal Iskierko
ff0628c23b
feat(Collectibles): Handle ERC20 burn and mint
...
Modify API to handle also ERC20 tokens.
Modify community_tokens table - keep supply as string since string is easly convertible to bigint.BigInt.
Use bigint.BigInt for supply functions and fields.
Issue #11129
2023-07-12 10:41:17 +02:00
Stefan
69412cf3a3
fix(wallet) fix scan of default NULL multi_transactions.*_network_id
2023-07-12 10:34:32 +02:00
Anthony Laibe
23492467b9
feat: clear balance cache after usage
2023-07-12 09:23:56 +02:00
Stefan
3ce851b84b
feat(wallet) report new multi-transactions updates
...
Updates status-desktop #11233
2023-07-11 22:34:43 +02:00
Ivan Belyakov
09dff82db5
feat(wallet): Move pending transactions to `transactions` module.
...
Handle creation and deletion of pending transactions automatically
on status-go side.
2023-07-11 16:07:42 +02:00
Sale Djenic
7063ad11aa
chore: synchronization improvements applied to keycards
...
This is the second step of improvements over keypairs/keycards/accounts.
- `SyncKeycardAction` protobuf removed
- `SyncKeypair` protobuf is used for syncing keycards state as well as for all
keycards related changes
- `last_update_clock` column removed from `keypairs` table cause as well as
for accounts, any keycard related change is actually a change made on a related
keypair, thus a keypair's clock keeps the clock of the last change
- `position` column added to `keypairs` table, needed to display keycards in
the same order accross devices
2023-07-11 15:14:49 +02:00
Jonathan Rainville
2c275058ad
feat(community): add api to edit shared address ( #3723 )
2023-07-10 10:11:37 -04:00
Dario Gabriel Lipicar
66a21aa7e4
feat(wallet): detect ETH L2 to L1/L2 bridge transactions
2023-07-10 09:59:05 -03:00
Dario Gabriel Lipicar
e6711c8cc8
feat(wallet): detect ETH L1 to L2 bridge transactions
2023-07-10 09:59:05 -03:00
Dario Gabriel Lipicar
fb6e2a41f7
chore(wallet): reorganize multitx processing code
2023-07-10 09:59:05 -03:00
Anthony Laibe
bc92df79d5
fix: fourbyte integration no arg
2023-07-10 12:26:42 +02:00