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.
This avoids locking of the community until the end of reevaluation.
There is no special handling for community changes while reevaluation is
ongoing. If members are added or removed, the function will behave
correctly. If permissions are changed, they will be accommodated in the
next reevaluation.
fixes: status-im/status-desktop#14775
This commit adds a TelemetryUrl param to request for creating
account and to the WakuV2Config. Adds a flag to the cli for
passing in the telemetry server url.
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
Without this change `cmd/spiff-workflow` fails to start with:
```
INFO [05-14|19:08:39.025|github.com/status-im/status-go/api/geth_backend.go:786] failed to start node package=status-go/api.GethStatusBackend
ERROR[05-14|17:00:04.279|spiff-workflow/main.go:125] failed import account package=status-go/cmd/statusd err="Key: 'NodeConfig.KeycardPairingDataFile' Error:Field validation for 'KeycardPairingDataFile' failed on the 'required' tag"
```
The alternative is to set `KeycardPairingDataFile` to any value:
```
nodeConfig.KeycardPairingDataFile = "STUPID_BEYOND_BELIEF"
```
Which is even worse.
Signed-off-by: Jakub Sokołowski <jakub@status.im>
Otherwise builds fail with:
```
sqlite3.c:37493:42: error: 'pread64' undeclared here (not in a function); did you mean 'pread'?
37493 | { "pread64", (sqlite3_syscall_ptr)pread64, 0 },
| ^~~~~~~
| pread
sqlite3.c:37511:42: error: 'pwrite64' undeclared here (not in a function); did you mean 'pwrite'?
37511 | { "pwrite64", (sqlite3_syscall_ptr)pwrite64, 0 },
| ^~~~~~~~
| pwrite
sqlite3.c: In function 'seekAndRead':
sqlite3.c:37497:49: error: unknown type name 'off64_t'; did you mean 'off_t'?
37497 | #define osPread64 ((ssize_t(*)(int,void*,size_t,off64_t))aSyscall[10].pCurrent)
| ^~~~~~~
```
Signed-off-by: Jakub Sokołowski <jakub@status.im>
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
Fixes https://github.com/status-im/status-desktop/issues/14421
The problem is that you can receive messages to a channel, then later, before marking them as read, a permission is added to them, so you no longer have access.
Then, you can't even mark it as read if it's hidden.
Here, I fix it by setting the unread count on Init at 0 if the user doesn't have view access to it. And I make sure we update the counts when we are removed from a channel
When a user updates the preferred name, we should just ignore if the name is an ENS name,
because the ENS name is set only in the ENS popup. But this also means that if a user set
the profile name to an ENS name, this change will also be ignored.
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