Commit Graph

5163 Commits

Author SHA1 Message Date
shashankshampi bffa9ccc5f Merge branch 'develop' into status_cli_migration_contract 2024-10-30 14:40:49 +05:30
shashankshampi c67d4030ac parent 3179532b64
author shashankshampi <shashank.sanket1995@gmail.com> 1729780155 +0530
committer shashankshampi <shashank.sanket1995@gmail.com> 1730274350 +0530

test: Code Migration from status-cli-tests
fix_: functional tests (#5979)

* fix_: generate on test-functional

* chore(test)_: fix functional test assertion

---------

Co-authored-by: Siddarth Kumar <siddarthkay@gmail.com>

feat(accounts)_: cherry-pick Persist acceptance of Terms of Use & Privacy policy (#5766) (#5977)

* feat(accounts)_: Persist acceptance of Terms of Use & Privacy policy (#5766)

The original GH issue https://github.com/status-im/status-mobile/issues/21113
came from a request from the Legal team. We must show to Status v1 users the new
terms (Terms of Use & Privacy Policy) right after they upgrade to Status v2
from the stores.

The solution we use is to create a flag in the accounts table, named
hasAcceptedTerms. The flag will be set to true on the first account ever
created in v2 and we provide a native call in mobile/status.go#AcceptTerms,
which allows the client to persist the user's choice in case they are upgrading
(from v1 -> v2, or from a v2 older than this PR).

This solution is not the best because we should store the setting in a separate
table, not in the accounts table.

Related Mobile PR https://github.com/status-im/status-mobile/pull/21124

* fix(test)_: Compare addresses using uppercased strings

---------

Co-authored-by: Icaro Motta <icaro.ldm@gmail.com>

test_: restore account (#5960)

feat_: `LogOnPanic` linter (#5969)

* feat_: LogOnPanic linter

* fix_: add missing defer LogOnPanic

* chore_: make vendor

* fix_: tests, address pr comments

* fix_: address pr comments

fix(ci)_: remove workspace and tmp dir

This ensures we do not encounter weird errors like:
```
+ ln -s /home/jenkins/workspace/go_prs_linux_x86_64_main_PR-5907 /home/jenkins/workspace/go_prs_linux_x86_64_main_PR-5907@tmp/go/src/github.com/status-im/status-go
ln: failed to create symbolic link '/home/jenkins/workspace/go_prs_linux_x86_64_main_PR-5907@tmp/go/src/github.com/status-im/status-go': File exists
script returned exit code 1
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>

chore_: enable windows and macos CI build (#5840)

- Added support for Windows and macOS in CI pipelines
- Added missing dependencies for Windows and x86-64-darwin
- Resolved macOS SDK version compatibility for darwin-x86_64

The `mkShell` override was necessary to ensure compatibility with the newer
macOS SDK (version 11.0) for x86_64. The default SDK (10.12) was causing build failures
because of the missing libs and frameworks. OverrideSDK creates a mapping from
the default SDK in all package categories to the requested SDK (11.0).

fix(contacts)_: fix trust status not being saved to cache when changed (#5965)

Fixes https://github.com/status-im/status-desktop/issues/16392

cleanup

added logger and cleanup

review comments changes

fix_: functional tests (#5979)

* fix_: generate on test-functional

* chore(test)_: fix functional test assertion

---------

Co-authored-by: Siddarth Kumar <siddarthkay@gmail.com>

feat(accounts)_: cherry-pick Persist acceptance of Terms of Use & Privacy policy (#5766) (#5977)

* feat(accounts)_: Persist acceptance of Terms of Use & Privacy policy (#5766)

The original GH issue https://github.com/status-im/status-mobile/issues/21113
came from a request from the Legal team. We must show to Status v1 users the new
terms (Terms of Use & Privacy Policy) right after they upgrade to Status v2
from the stores.

The solution we use is to create a flag in the accounts table, named
hasAcceptedTerms. The flag will be set to true on the first account ever
created in v2 and we provide a native call in mobile/status.go#AcceptTerms,
which allows the client to persist the user's choice in case they are upgrading
(from v1 -> v2, or from a v2 older than this PR).

This solution is not the best because we should store the setting in a separate
table, not in the accounts table.

Related Mobile PR https://github.com/status-im/status-mobile/pull/21124

* fix(test)_: Compare addresses using uppercased strings

---------

Co-authored-by: Icaro Motta <icaro.ldm@gmail.com>

test_: restore account (#5960)

feat_: `LogOnPanic` linter (#5969)

* feat_: LogOnPanic linter

* fix_: add missing defer LogOnPanic

* chore_: make vendor

* fix_: tests, address pr comments

* fix_: address pr comments

chore_: enable windows and macos CI build (#5840)

- Added support for Windows and macOS in CI pipelines
- Added missing dependencies for Windows and x86-64-darwin
- Resolved macOS SDK version compatibility for darwin-x86_64

The `mkShell` override was necessary to ensure compatibility with the newer
macOS SDK (version 11.0) for x86_64. The default SDK (10.12) was causing build failures
because of the missing libs and frameworks. OverrideSDK creates a mapping from
the default SDK in all package categories to the requested SDK (11.0).

fix(contacts)_: fix trust status not being saved to cache when changed (#5965)

Fixes https://github.com/status-im/status-desktop/issues/16392

test_: remove port bind

chore(wallet)_: move route execution code to separate module

chore_: replace geth logger with zap logger (#5962)

closes: #6002

feat(telemetry)_: add metrics for message reliability (#5899)

* feat(telemetry)_: track message reliability

Add metrics for dial errors, missed messages,
missed relevant messages, and confirmed delivery.

* fix_: handle error from json marshal

chore_: use zap logger as request logger

iterates: status-im/status-desktop#16536

test_: unique project per run

test_: use docker compose v2, more concrete project name

fix(codecov)_: ignore folders without tests

Otherwise Codecov reports incorrect numbers when making changes.
https://docs.codecov.com/docs/ignoring-paths

Signed-off-by: Jakub Sokołowski <jakub@status.im>

test_: verify schema of signals during init; fix schema verification warnings (#5947)

fix_: update defaultGorushURL (#6011)

fix(tests)_: use non-standard port to avoid conflicts

We have observed `nimbus-eth2` build failures reporting this port:
```json
{
  "lvl": "NTC",
  "ts": "2024-10-28 13:51:32.308+00:00",
  "msg": "REST HTTP server could not be started",
  "topics": "beacnde",
  "address": "127.0.0.1:5432",
  "reason": "(98) Address already in use"
}
```
https://ci.status.im/job/nimbus-eth2/job/platforms/job/linux/job/x86_64/job/main/job/PR-6683/3/

Signed-off-by: Jakub Sokołowski <jakub@status.im>

fix_: create request logger ad-hoc in tests

Fixes `TestCall` failing when run concurrently.

chore_: configure codecov (#6005)

* chore_: configure codecov

* fix_: after_n_builds
2024-10-30 13:23:09 +05:30
Igor Sirotin 768cda8de9
chore_: configure codecov (#6005)
* chore_: configure codecov

* fix_: after_n_builds
2024-10-29 19:11:35 +00:00
Patryk Osmaczko 9240222fbe fix_: create request logger ad-hoc in tests
Fixes `TestCall` failing when run concurrently.
2024-10-29 18:50:11 +01:00
Jakub Sokołowski 9d41652a2d fix(tests)_: use non-standard port to avoid conflicts
We have observed `nimbus-eth2` build failures reporting this port:
```json
{
  "lvl": "NTC",
  "ts": "2024-10-28 13:51:32.308+00:00",
  "msg": "REST HTTP server could not be started",
  "topics": "beacnde",
  "address": "127.0.0.1:5432",
  "reason": "(98) Address already in use"
}
```
https://ci.status.im/job/nimbus-eth2/job/platforms/job/linux/job/x86_64/job/main/job/PR-6683/3/

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-10-29 17:52:47 +01:00
Igor Sirotin d3e934a8a0
fix_: update defaultGorushURL (#6011) 2024-10-29 16:52:34 +00:00
Mag eea527a9cf
test_: verify schema of signals during init; fix schema verification warnings (#5947) 2024-10-29 12:10:48 +00:00
Jakub Sokołowski 807397faca
fix(codecov)_: ignore folders without tests
Otherwise Codecov reports incorrect numbers when making changes.
https://docs.codecov.com/docs/ignoring-paths

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-10-29 10:01:51 +01:00
Anton 90a0f9d643 test_: use docker compose v2, more concrete project name 2024-10-29 09:51:59 +01:00
Anton fe83748429 test_: unique project per run 2024-10-29 09:51:59 +01:00
Patryk Osmaczko 2c1b321e58 chore_: use zap logger as request logger
iterates: status-im/status-desktop#16536
2024-10-29 07:36:29 +01:00
Arseniy Klempner 153c5dbdf4
feat(telemetry)_: add metrics for message reliability (#5899)
* feat(telemetry)_: track message reliability

Add metrics for dial errors, missed messages,
missed relevant messages, and confirmed delivery.

* fix_: handle error from json marshal
2024-10-28 15:01:18 -07:00
osmaczko 2ced83abb7
chore_: replace geth logger with zap logger (#5962)
closes: #6002
2024-10-28 20:54:17 +00:00
Dario Gabriel Lipicar d77d243dd6 chore(wallet)_: move route execution code to separate module 2024-10-28 14:24:37 +01:00
Anton 097d19a83e test_: remove port bind 2024-10-28 11:40:33 +01:00
Jonathan Rainville d99fdf1b67
fix(contacts)_: fix trust status not being saved to cache when changed (#5965)
Fixes https://github.com/status-im/status-desktop/issues/16392
2024-10-25 22:28:58 +01:00
Vedran 6ee62061bc
chore_: enable windows and macos CI build (#5840)
- Added support for Windows and macOS in CI pipelines
- Added missing dependencies for Windows and x86-64-darwin
- Resolved macOS SDK version compatibility for darwin-x86_64

The `mkShell` override was necessary to ensure compatibility with the newer
macOS SDK (version 11.0) for x86_64. The default SDK (10.12) was causing build failures
because of the missing libs and frameworks. OverrideSDK creates a mapping from
the default SDK in all package categories to the requested SDK (11.0).
2024-10-25 09:40:47 +02:00
Jakub Sokołowski c72f491324
fix(ci)_: remove workspace and tmp dir
This ensures we do not encounter weird errors like:
```
+ ln -s /home/jenkins/workspace/go_prs_linux_x86_64_main_PR-5907 /home/jenkins/workspace/go_prs_linux_x86_64_main_PR-5907@tmp/go/src/github.com/status-im/status-go
ln: failed to create symbolic link '/home/jenkins/workspace/go_prs_linux_x86_64_main_PR-5907@tmp/go/src/github.com/status-im/status-go': File exists
script returned exit code 1
```

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2024-10-24 01:40:04 +02: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
Yevheniia Berdnyk 0555331252
test_: restore account (#5960) 2024-10-23 22:48:33 +03:00
Jonathan Rainville 132ea05fc8
feat(accounts)_: cherry-pick Persist acceptance of Terms of Use & Privacy policy (#5766) (#5977)
* feat(accounts)_: Persist acceptance of Terms of Use & Privacy policy (#5766)

The original GH issue https://github.com/status-im/status-mobile/issues/21113
came from a request from the Legal team. We must show to Status v1 users the new
terms (Terms of Use & Privacy Policy) right after they upgrade to Status v2
from the stores.

The solution we use is to create a flag in the accounts table, named
hasAcceptedTerms. The flag will be set to true on the first account ever
created in v2 and we provide a native call in mobile/status.go#AcceptTerms,
which allows the client to persist the user's choice in case they are upgrading
(from v1 -> v2, or from a v2 older than this PR).

This solution is not the best because we should store the setting in a separate
table, not in the accounts table.

Related Mobile PR https://github.com/status-im/status-mobile/pull/21124

* fix(test)_: Compare addresses using uppercased strings

---------

Co-authored-by: Icaro Motta <icaro.ldm@gmail.com>
2024-10-23 09:53:25 -04:00
Igor Sirotin 8dc70e91ea
fix_: functional tests (#5979)
* fix_: generate on test-functional

* chore(test)_: fix functional test assertion

---------

Co-authored-by: Siddarth Kumar <siddarthkay@gmail.com>
2024-10-23 12:35:07 +01:00
Sale Djenic 3179532b64 chore_: completely remove goerli from the code 2024-10-21 17:30:51 +02: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
dlipicar 7f8fd2c1cf
chore(wallet)_: update uniswap token list (#5953)
* chore(wallet)_: update uniswap token list

* chore_: renamed deprecated token
2024-10-21 08:58:08 -03:00
dlipicar 6baf1f78aa
fix(wallet)_: limit max parameter length in cryptocompare price fetches (#5957)
* fix(wallet)_: limit max parameter length in cryptocompare price fetches

* chore(wallet)_: separate package for network-dependant unit tests
2024-10-21 08:57:28 -03:00
Igor Sirotin 42022599e8
fix_: no test reporting to codecov (#5968) 2024-10-21 12:33:27 +01:00
Igor Sirotin 9f564010da
chore_: configure tests develop job (#5956)
* refactor_: rename isTestNightlyJob

* chore_: configure develop tests job

* chore_: isPRJob and getAmountToKeep
2024-10-19 12:01:28 +03:00
Igor Sirotin 9fcb153f32
docs_: better usage docs for status-backend (#5955) 2024-10-18 21:59:09 +03:00
Prem Chaitanya Prathi e611b1e513
fix_: update enr for staging fleet node whose peerID is changed (#5935) 2024-10-18 11:24:17 +05:30
frank b59f1d3849
fix_: chats and message history loading after login takes too much time (#5932)
* fix_: chats and message history loading after login takes too much time

* chore_: split to small functions to writing unit test easily

* test_: add test

* chore_: improve OldestMessageWhisperTimestampByChatIDs function

- Use 'any' type instead of 'interface{}' for args slice
- Add error check after rows iteration

* chore_: optimize OldestMessageWhisperTimestampByChatIDs query

This commit simplifies and optimizes the SQL query in the OldestMessageWhisperTimestampByChatIDs function. The changes include:

1. Removing the subquery and ROW_NUMBER() function
2. Using MIN() and GROUP BY instead of the previous approach
3. Directly selecting the required columns in a single query

These changes should improve the performance of the function, especially for large datasets, while maintaining the same functionality.
2024-10-18 10:25:34 +08:00
Igor Sirotin 7971fd3bcb
chore(Makefile)_: generate before run status backend (#5954) 2024-10-16 21:43:51 +03: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
Yevheniia Berdnyk 4dbad723bf test_: a little bit of refactoring 2024-10-14 12:47:58 +02: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
Patryk Osmaczko 2c5737b7f6 chore(messenger)_: extend failed protobuf processing log 2024-10-11 18:59:58 +02:00
Patryk Osmaczko 9294ffc12b fix(communities)_: prevent unsigned `CommunityDescription` persistence
fixes: status-im/status-mobile#21303
2024-10-11 18:59:58 +02:00
Patryk Osmaczko 9ba44651c7 chore(communities)_: mv `unmarshalCommunityDescriptionMessage` to
manager
2024-10-11 18:59:58 +02:00
Patryk Osmaczko 084a6e3c5c chore(communities)_: rename `validateAndGetEventsMessageCommunityDescription` 2024-10-11 18:59:58 +02:00
Sale Djenic 6ed10bce81 fix_: native token not found error when generating a new route issue fixed
This commit fixes `native token not found` issue that occurs only when the input params
of an already successfully generated route for a fast chain (refers to a chain that generates
new block very fast, like optimism, arbitrum) are updated.

The reason of the issue was that active route remains the same until the resolving of a new route
for updated input parameters gets generated, for fast chains that was enough time to generate a new
block and send fees update for the previously active route. This commit fixes that possibility by
aborting updates in a better way.
2024-10-11 18:25:01 +02:00
Prem Chaitanya Prathi 97db14083a
chore_: bump go-waku with filter loop fix (#5909)
* chore_: bump go-waku with filter loop fix

* fix_: correct fleet node for staging fleet

* fix_: use shards for lightclient init

---------

Co-authored-by: Richard Ramos <info@richardramos.me>
2024-10-10 17:03:36 +05:30
richΛrd 832db22acf
chore_: bump go-waku to change datatype of `waku2` field in ENR to byte array (#5882) 2024-10-09 10:26:42 -07:00
Anton Iakimov 9075ca89c7
chore_: dummy 2024-10-09 15:44:37 +02:00
Anton Iakimov afb04f743f
chore_: dummy 2024-10-09 15:09:52 +02:00
Anton Iakimov 36b1f29361
chore_: dummy 2024-10-09 15:07:39 +02:00
Anton Iakimov 45ab8e7bf2
chore_: dummy 2024-10-09 11:22:05 +02:00
Anton Iakimov bfb7b9cfb8
chore_: dummy 2024-10-09 11:21:10 +02:00
Patryk Osmaczko 4cef3baf85 fix(communities)_: ensure community ID is populated with description
Ensure that communities created prior to the introduction of tokenized
ownership propagate community ID through the description.

fixes: status-im/status-desktop#16226
2024-10-09 08:49:36 +02:00
Pablo Lopez 0f151a0fbf
chore_: check mvds for tests (#5928) 2024-10-09 09:23:15 +03:00
Sale Djenic 0017567ed4 fix_: packing data for ens release path processor fixed 2024-10-08 21:49:35 +02:00