40 Commits

Author SHA1 Message Date
Igor Sirotin
d15ec57bad
fix_: move version to separate package (#6053) 2024-11-06 17:36:49 +00:00
Igor Sirotin
e938635d04
chore_: get version with go generate (#6014)
* chore_: get version with go generate

* fix_: test-functional

* fix_: trip space in version and gitcommit

* fix_: TestUserAgent
2024-11-03 00:47:15 +00:00
osmaczko
2ced83abb7
chore_: replace geth logger with zap logger (#5962)
closes: #6002
2024-10-28 20:54:17 +00:00
Igor Sirotin
679391999f
feat_: LogOnPanic linter (#5969)
* feat_: LogOnPanic linter

* fix_: add missing defer LogOnPanic

* chore_: make vendor

* fix_: tests, address pr comments

* fix_: address pr comments
2024-10-23 21:33:05 +01:00
Sale Djenic
18a9072435 chore_: providers re-ordered
A new order of using providers is:
1. StatusProxy - Node Fleet
2. StatusProxy - Infura
3. Direct Infura
4. StatusProxy - Grove
5. Direct Grove
2024-10-21 17:30:51 +02:00
Andrey Bocharnikov
fadce938e4
feat_: RPC providers detailed statuses #5923 (#5924)
* feat(wallet)_: Send a new event 'wallet-blockchain-health-changed' #5923
2024-10-15 19:59:17 +04:00
Andrey Bocharnikov
86cd41d04e
chore(wallet)_: remove unused upstream client (#5934)
* chore(wallet)_: remove unused upstream client

fixes #5933
2024-10-11 21:01:14 +04:00
Igor Sirotin
c1dd9397f7
refactor_: remove generated files from source control (#5878)
* fix_: gitignore generated files

* chore_: delete generated files

* fix_: update go generate instructions

* feat(Makefile)_: clean-generated-files target

* feat(Makefile)_: `generate` target

* fix(Makefile)_: dependent generate target

* ci_: run generate, update docker file deps

* fix(Makefile)_: remove `clean-generated-files` target

* fix(Makefile)_: simpler GO_GENERATE_CMD arg

* fix_: temp workspace GO_GENERATE_FAST_DIR
2024-10-03 20:59:44 +01:00
Andrey Bocharnikov
66ee53175e chore_: add a status proxy to the nodefleet rpc as a primary service provider
fixes #5901
2024-10-02 18:41:29 +07:00
dlipicar
dd994587a3
chore_: initial steps to decouple rpc chain modules (#5856)
* chore_: moved chain rpclimiter and tagger to separate packages

* chore_: initial steps to decouple rpc chain modules
2024-09-24 14:07:26 +01:00
Sale Djenic
8ddde51445 fix_: browser connect - send transaction command 2024-09-20 15:16:17 +02:00
Andrea Maria Piana
9e5fa3f22c feat_: Cache GetWalletToken method and split circuits
This commits does a few things:

1) Adds cache of token amount to the GetWalletToken endpoint, used by
   mobile, in case the user is offline.

2) Split circuits by chain-id (when available) and by host+index when
   not

3) It makes GetWalletToken always refresh, as that's directed from an
   user action and we want to respect that. A cool down of 10s should be
   added in the future to avoid spamming.
2024-08-16 14:02:29 +01:00
Samuel Hawksby-Robinson
0e882f1b97 feat(rpc_user_agent)_: Added application version to the RPC user client 2024-08-15 13:18:18 +01:00
Samuel Hawksby-Robinson
c97cedba9a feat(rpc-user-agent)_: Added user agent to upstream client 2024-08-13 13:52:14 +01:00
Samuel Hawksby-Robinson
bb01332af9 feat(rpc_user_agent)_: Added OS conditioned agent naming 2024-08-13 13:52:14 +01:00
Samuel Hawksby-Robinson
f022d9a477 feat(rpc_user_agent)_: Added User Agent to the authed rpc client 2024-08-13 13:52:14 +01:00
Ivan Belyakov
b74d9e6b4e feat(wallet)_: add status proxy RPC urls for blockchain providers
Replace the status proxy URL for cryptocompare.
2024-08-01 08:19:20 +02:00
Ivan Belyakov
a009855bbb feat(wallet)_: use CircuitBreaker for blockhain RPC calls
fix usage of circuit breaker for collectibles and market data to
match the implementation
2024-07-05 12:39:19 +01:00
Ivan Belyakov
3983114ae5 test(wallet)_: add unit tests for balance fetcher
replace types with interfaces where necessary to allow mocking
implement fake eth scanner and erc20 contracts
2024-07-04 09:29:49 +02:00
Ivan Belyakov
4a1f751ced feat(wallet)_: Implemented RPC limiter interface
Split ClientInterface to aggregation of multiple interfaces
Added tags to RPC stats API
Use tagged RPC client for transfers commands
Implemented general interface for RPC limiting
2024-05-28 13:44:40 +02:00
Ivan Belyakov
c0e922f0af fix(wallet)_: fix crash on nil db for statusd if wallet is enabled
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
2024-05-15 10:19:25 +02:00
Sale Djenic
bb3006d747 feat: rpc request limiter 2024-02-29 08:26:10 +01:00
Roman Volosovskyi
382fcde74e
Scanning of ERC20 tail of transfers history 2023-10-01 10:09:11 +02:00
Roman Volosovskyi
1dca3adb89
Basic test for findBlocksCommand 2023-09-19 13:17:36 +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
Anthony Laibe
4fd94c2345 fix: concurrent client access 2023-08-09 15:47:23 +02:00
Vitaliy Vlasov
ddfd0c5b14 Add lc-proxy-wrapper dep 2023-05-24 18:48:16 +03:00
Anthony Laibe
ec5449c2bd fix: collectible status event 2023-03-31 19:22:53 +02:00
Anthony Laibe
ba75bda39e feat: event on error 2023-03-31 19:22:53 +02:00
Anthony Laibe
60e1978bb5 feat: fallback rpc endpoint 2023-02-28 08:43:57 +01:00
Richard Ramos
ee41e30881
feat: extract node config from settings to individual tables (#2470) 2022-01-12 16:04:43 -04:00
Anthony Laibe
26bfeddad4
feat: Rpc client manage multiple eth client (#2359) 2021-09-22 13:49:20 -04:00
Roman Volosovskyi
3a408135d8
[wallet] RPC usage stats 2021-03-10 13:32:46 +02:00
Pedro Pombeiro
6537cae606 Nimbus node support 2020-01-20 13:15:17 +01:00
Pedro Pombeiro
c8a911ebd1 Use goimports instead of gofmt 2020-01-06 10:17:23 +01:00
Dmitry Shulyak
047c9b5263
Download transfers starting from latest block header (#1467) 2019-06-14 13:16:30 +03:00
Adam Babik
4c1b6c12e4 [Chaos Unicorn] Expose ChaosModeUpdate (#1422) 2019-03-29 12:55:54 +01:00
Andrea Franz
4939268edf
Unlock wallet and chat keys (#1346)
* select account decrypting wallet and chat keys

* adapt account tests to use chat and wallet account/keys

* fix tests using chat address

* changes after review

* fix status service e2e tests

* add account.Info struct returned when creating and recovering an account

* use s.EqualValues to compare recovered accounts

* return Info instead of *Info

* add both address and walletAddress to responses

* Update lib/types.go

Co-Authored-By: gravityblast <andrea@gravityblast.com>

* Update lib/types.go

Co-Authored-By: gravityblast <andrea@gravityblast.com>

* update comment to fix lint
2019-01-18 10:01:14 +01:00
Adam Babik
cb6b96b87b
Block some JSON-RPC methods completely 2018-08-02 09:07:55 +02:00
Adrià Cidre
d5be8c525d
[#856] move geth subpackages to root level (#1007) 2018-06-08 13:29:50 +02:00