* feat_: Check for mobile data connection if setting is on
* fix_: check code control flag inside asyncRequestAllHistoricMessages
---------
Co-authored-by: Igor Sirotin <sirotin@status.im>
* fix_: filtering out routes which do not match the amount in
* fix_: finding the best route logic updated
* fix_: "to" chains being used in sending bridge tx via hop are more explicit
Using `ChainIDTo` depicts better an intention which chain should be used.
* chore_: checking for required balance improved
An error contains now more details, for which token on which chain there is not enough balance for
executing a tx. Also check for required balance now calculates in fees for all tx that possibly can be
sent from the same chain.
The reused implementation from signing typed data V1 was used
in case of signing typed data V4. This implementation required
chain ID to be present in the typed data. This change fixes
the issue by making chainID optional for signing typed data V4.
* feat(connector)_: impl `eth_requestAccounts` for browser plugin
* feat(connector)_: add impl for `wallet_switchEthereumChain` and `eth_chainId`
* feat(connector)_: add impl for `eth_sendTransaction`
* feat(connector)_: add a signal and an endpoint for wallet ui side
* chore_: refactor connector tests
* feat(connector)_: impl `eth_requestAccounts` with signal
* chore(connector)_: Add test, covering full transaction flow
And polish impl & test for connector endpoints
* fix(connector)_: temporary allow all origins for ws connection
* chore_: review fixes
* fix(connector)_: make user select chain id for dApp
* fix(connector)_: add requestID and fine tune endpoints
* chore(connector)_: naming fixes and tests improvments
instead.
Fixed padding points being removed from final result, regression.
Edge points not added per address as it does not make sense.
Fixed padding points number with respect to edge points number.
Padding points now duplicate previous entry.
Fixed timestamp boundaries to ignore addresses, as we want the whole
range for all passed addresses.
Fixed missing indices in balance_history table and clean up of
duplicate rows.
Removed ERC1155 from balance history sql query
This commit adds support for centralized metrics.
There are two providers as of now, and we haven't quite decided which
one to go for, so for the time being both are supported.
It also introduces a new endpoint InitializeApplication that replaces
OpenAccounts
Add `wallet_SafeSignTypedDataForDApps` with support for
`eth_signTypedData` and `eth_signTypedData_v4`
Reject if the chain to sign doesn't matches the target chain
for typed data signing
Add `wallet_HashMessageForSigning` with to support hashing messages
for signing in a safe way as per EIP-191 v45 and supporting
to hash messages for signing on the client side (keycard)
Deprecate `wallet_SignTypedDataV4``
Updates: #15361
- Added `restartWalletReloadTimer` method in `api.go` to expose an API for restarting the wallet reload timer.
- Implemented `Restart` method in `reader.go` to stop and start the wallet reader.
- Updated reader_test.go to comply with minimum test coverage threshold
If there are multiple routes across multiple networks, but the user doesn't have a positive balance
on the network which the router initially suggested as the best (cheapest) route, then we are not returning
an error saying there are not enough balance, but instead try to suggest the route on the network where
the user has a positive balance even that's not the cheapest route (it should be the second cheapest route,
but if there are not enough balance on it we proceed with the third cheapest route and so on...).
A signal type `wallet` which had an event `type` set to `sing-transactions` is now a new signal
type `wallt.sing.transactions` with event which represents list of transactions that need to be signed.
- router logic splitted into two more logical functions
- locked amount validation improved
- hop and swap processors cached data kept per from/to chain and from/to token
- Clear function which clears the local cache is added
- process of evaluating `amountToSend` if more than a single network is locked is improved
- optimized params for require approval function
* feat(community)_: Move images from community data to MediaServer
* test_: fix lint issue
* test_: add more test statements
* feat_: deprecate old API
* test_: addressed review feedback from Icaro
* fix_: addressed review feedback from Jonathan
* chore_:wrap image url in an object
fix rpc limiter to delete limits on account removal
fix rpc limiter to not overwrite existing account limit on startup
fix providers down banner on limit reached error
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
* fix_: add status telemetry client to cli
* feat_: call telemetry when pushing an envelope
* feat_: log status version in all telemetry calls
* feat_: batch all telemetry data and send request every 10 seconds
Fixes the slow login in mobile devices when users have joined large communities,
such as the Status one. A user would get stuck for almost 20s in some devices.
We identified that the step to set-up filters in the messenger is potentially
expensive and that it is not critical to happen before the node.login signal is
emitted. The solution presented in this PR is to set-up filters inside
messenger.Start(), which the client already calls immediately after login.
With this change, users of the mobile app can login pretty fast even when they
joined large communities. They can immediately interact with other parts of the
app even if filter initialization is running in the background, like Wallet,
Activity Center, Settings, and Profile.
Breaking changes: in the mobile repository, we had to change where the endpoint
wakuext_startMessenger was called and the order of a few events to process
chats. So essentially ordering, but no data changes.
- Root issue https://github.com/status-im/status-mobile/issues/20059
- Related mobile PR https://github.com/status-im/status-mobile/pull/20173
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