Compare commits

...
Author SHA1 Message Date
frank 8fdcd37aed fix_: messages are not delivered if the sender's device time is set manually
https://github.com/status-im/status-go/compare/c5e4eb1a...6a156c66
2025-03-03 14:56:37 +08:00
jakub 9d5f6d0b06 nix: replace yet another openjdk with headless version
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2025-02-27 14:21:18 +01:00
frank 48c83ef759 fix_: no log file (#22122)
* fix_: no log file

https://github.com/status-im/status-go/compare/c5e4eb1a...388fce10

* chore_: fix lint issue

* chore_: set error level for release build

https://github.com/status-im/status-go/compare/c5e4eb1a...ba8fd519
2025-02-27 19:46:28 +08:00
jakub c84fc71bf1 nix: use openjdk_headless to avoid pulling GTK
This saves a whole bunch of downloading.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2025-02-26 18:56:10 +01:00
AlexanderandYevheniia Berdnyk 550602db12 Update send summary to show network in a separate card (#21616) (#22067)
* Update send summary to show network in a separate card (#21616)

* Style updates

* Style updates

* Fixes; test updates

* Fixes

* Fixes

* e2e: updated send summary checks

* Spec fix

* Spec fix

* Small schema update

---------

Co-authored-by: Yevheniia Berdnyk <ie.berdnyk@gmail.com>
2025-02-25 16:20:17 +01:00
Parvesh Monu 5932f7dc99 Fix keycard login flow options while using empty keycard (#22182) 2025-02-25 17:58:48 +05:30
Icaro Motta b89dce3c2a chore(analytics): Integrate Sentry (#21682)
Integrate Sentry and implement a feature flagged feature (disabled by default)
to force crash the app using the function mobile/status.go#IntendedPanic()
provided by status-go. Because the feature is feature flagged and disabled, it
is not available in release builds.

Fixes: https://github.com/status-im/status-mobile/issues/21656

Documentation about Sentry in status-go:
https://github.com/status-im/status-go/blob/3466ac2661bb19cd0eaa27761551de3b4d31b393/internal/sentry/README.md#L60

Areas that may be impacted: Whenever a panic happens in status-go and usage data
collection is enabled we will send error data to Sentry. In theory, nothing
should change for the user, therefore nothing should be visibly different in the
app's behavior.

Steps to test:

Before following the steps below, the CI must be configured with the appropriate
SENTRY_DSN_STATUS_GO value. You can also use a free tier cloud instance to do
your own testing in case you want to play around with Sentry.

1. Login with any profile.
2. Enable usage data collection (for now, Sentry and analytics are tied to the
   same setting in status-go).
3. Go to Settings > Feature flags and enable app-monitoring > intentional-crash
4. Go to Settings > Advanced > and press on Force crash immediately

Usually you should see the error in the Sentry dashboard in a matter of seconds.
2025-02-24 19:28:38 -03:00
Parvesh Monu 8aba451be8 Update keycard Illustrations (#22171) 2025-02-24 20:00:39 +05:30
Icaro Motta 82dd805755 chore(analytics): Allow MixPanel to be configured per env (#21975)
Allows MixPanel to be configured per environment. The hardcoded MixPanel app ID
and token are removed from the code (see the parent issue for more details). The
token can be exploited and that’s by design in most analytics tools
https://developer.mixpanel.com/reference/project-token.

Fixes https://github.com/status-im/status-mobile/issues/21974

Areas that may be impacted

- Analytics
2025-02-24 00:06:59 -03:00
Ulises Manuel 6e30d9faa8 fix(communities): Add missing stats (#22143)
* fix(communities): Stats not shown in discover page
* fix issues in the discover screen related to the theme
2025-02-21 08:40:18 -06:00
Mohsen 070869b705 [#21999] fix: disable manual auto refresh as new endpoint include auto refresh (#22115)
* [#21999] fix: disable manual auto refresh as new endpoint include this logic

* [#21999] fix: move build transaction route to last step

* [#21999] fix: restart swap proposal fetch after approval confirmation

* [#21999] fix: remove redundant event

* [#21999] fix: resolve conflicts

* [#21999] fix: slide button disable issue
2025-02-21 16:39:15 +03:00
frank 9dfa1069e5 feat_: add pre login log (#21987)
* feat_: add pre login log

https://github.com/status-im/status-go/compare/1bfb0cef...7ae58a47

* fix_: pre_login log not get zipped

https://github.com/status-im/status-go/compare/1bfb0cef...c5e4eb1a
2025-02-21 18:42:23 +08:00
Volodymyr Kozieiev 99dd374c87 Quick transaction settings (#22019)
* Quick settings for sending transaction

* Moved to newer status-go, fixed mode saving

https://github.com/status-im/status-go/compare/b2cd7bd8...4b44d6d0

* Fixed non-pressable radio buttons

* Account color applied to controls

* Updated status-go version

https://github.com/status-im/status-go/compare/1bfb0cef...5a796959

* Fixed bug with not applying bridge quick tx setting
2025-02-21 09:46:31 +00:00
Siddarth Kumar bac5ace90a deps: dynamically get gradle-lint version
This commit generates the gradle-lint dependency version according to the rules specified here in hack script :
https://googlesamples.github.io/android-custom-lint-rules/api-guide.html
2025-02-21 11:32:03 +05:30
Yevheniia Berdnyk 34cb7d19e2 e2e: added tests for collectibles 2025-02-21 01:24:44 +02:00
Mohsen a98bbf6a71 [#22029] fix: bridge button when there is single account (#22031)
* [#22029] fix: bridge button when there is single account

* [#22029] fix: trigger start bridge if all condition met

* [#22029] docs: add clarification for bridge flow logic based on account selection
2025-02-19 21:58:11 +03:00
andrey 8116f7a7b1 [#21956] Biometrics are still active after profile migration to keycard 2025-02-19 17:40:27 +01:00
andrey b3fbed1a1b [#21812] "Invalid Hex Data for Private Key" and "Invalid PIN Code" errors after mobile attempts to be synced with Desktop imported on keycard
https://github.com/status-im/status-go/compare/b2cd7bd8...1bfb0cef
2025-02-18 13:23:23 +01:00
frank 4826bedba4 fix_: revert version (#22149) 2025-02-18 20:12:11 +08:00
frank b81ac07636 fix_: bad node config migration (#21952)
https://github.com/status-im/status-go/compare/dcce8e9b...6132a9e7
2025-02-18 19:12:18 +08:00
Siddarth Kumar 2da2dfdad7 android: add gradle-lint as dependency (#22124) 2025-02-18 13:12:28 +05:30
Andrey Bocharnikov 1036bff41b feat(wallet): integrate eth rpc proxy (#22034)
* feat(wallet): Integrate eth-rpc-proxy

closes #22033
2025-02-17 22:27:22 +04:00
Siddarth Kumar e15b9a224c ci: upgrade go to 1.22 (#21940)
- This PR upgrades `go` to `1.22`
- Brings in `gomobile` latest derivation at master of `nixpkgs` : https://github.com/NixOS/nixpkgs/commit/f5abef98e8b8c9f9e6da4bdab63f8be1e57ea8c0
- points to status-go changes where `go` is also upgraded to `1.22` -> https://github.com/status-im/status-go/pull/6258
2025-02-17 22:53:28 +05:30
Parvesh Monu 82ab32c028 Allow user to access recovery phrase after canceling 'Confirm Backup' drawer (#22108) 2025-02-17 21:26:36 +05:30
Siddarth Kumar 3541485338 deps: fix path to hack script and regenerate (#22119)
This PR fixes the path to hack deps script and re-generates `gradle` deps.
Previous PRs passed build phase because we already have the `gradle` deps we need.

However make `nix-update-gradle` would fail due to the incorrect path.
2025-02-17 14:13:21 +05:30
Mohamed Javid 8c82a84aee feat(wallet)_: Saved addresses limit (#22069)
This commit adds limit for adding saved addresses upto 20 to prevent any unwanted behaviour.

Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2025-02-15 00:34:56 +05:30
Brian Sztamfater 447945f46e fix: transaction fails when signed from auto-restored derived account after seed phrase recovery with biometric authentication enabled (#22040)
Signed-off-by: Brian Sztamfater <brian@status.im>
2025-02-14 11:16:50 -03:00
Brian Sztamfater 16b2c90040 feat: show swap proposal exchange rate (#22078)
Signed-off-by: Brian Sztamfater <brian@status.im>
2025-02-14 10:32:07 -03:00
Alexander a210d59c4f Improve activity loading to avoid sitations when activity tab becomes empty after auto-refresh or app backgrounding (#21988) 2025-02-14 09:49:34 +01:00
Parvesh Monu fe0c5c2da7 fix Incorrect name and image at Ready to import key pair screen (#22080) 2025-02-13 20:50:43 +05:30
Parvesh Monu 8c91fbdd49 fix Keycard UI issues (#22075) 2025-02-13 20:28:07 +05:30
Mohsen 93e0c1fc5e [#21483] fix: update collectible amounts after sending (#21867)
* [#21483] fix: update collectible amounts after sending

* [#21483] test: cover funcs with unit test

* [#21483] fix: add condition to update only pending collectible

* [#21483] fix: use parse int for conversion

* [#21483] fix: round up dispatch delay
2025-02-13 15:38:03 +03:00
Yevheniia Berdnyk 9c7d215217 e2e: added test for contact request, receiver is offline 2025-02-13 11:15:55 +02:00
frank 4668d6a285 chore_: specify kdfIterations explictly (#22079) 2025-02-13 16:42:47 +08:00
Parvesh Monu 6c9c92efc7 Update Keycard color in keycard flow (#22066) 2025-02-12 21:22:52 +05:30
Yevheniia Berdnyk eff252c7c0 e2e: added smoke tests for android 12 and 13 2025-02-12 15:06:12 +02:00
Sean Hagstrom ab12c8a17d fix: add version field to localSrc definition for go-mobile nix build (#22041) 2025-02-12 13:30:23 +01:00
vedran 8b21d6ab53 chore(deps)_: get missing deps versions dynamically
To remove hardcoding of specific versions of missing gradle
dependencies, we will use `get_versions.sh` to fetch them dynamically.

Also disable default lint checks to remove redundant
`lintVitalReportRelease` task and dependency.
2025-02-11 14:24:12 +01:00
Tetiana Churikova 36fa4bdb62 fix: update text for keycard (#22043) 2025-02-11 12:20:50 +01:00
flexsurfer ed10ed70f7 [#21993] Keycard - Unlock Keycard (#22030) 2025-02-10 13:09:47 +01:00
Parvesh Monu 8c089bb334 Fix keycard theme issue and add documentation for ready to add key pair screen (#22028) 2025-02-10 17:18:15 +05:30
Ulises Manuel 45b09603d2 Add reagent support to transform prop keys inside vectors (#21937)
- Remove now unnecessary wrapper for reanimated/view
- Use kebab-case keywords for the hole-view component
- Use rn/StyleSheet.absoluteFill along with ClojureScript styles
- Fix keys inside view's `:transform` property
- Remove some uses of `merge` to pass styles to components
- Add tests for `convert-prop-value`
2025-02-07 16:50:22 -06:00
Mohsen 857cb47ceb [#21939] fix: handle sign message after dapp pairing (#22026) 2025-02-06 19:44:59 +03:00
Parvesh Monu 4782b3eb2a Allow users to view the recovery phrase again when creating a profile for an empty keycard (#22009) 2025-02-05 20:58:16 +05:30
Parvesh Monu 1a5008bcda Changing the PIN of the Keycard (#22008) 2025-02-05 20:41:41 +05:30
vedran c5c7f2eb27 chore(ci): bump status-jenkins-lib to include alchemy base api keys 2025-02-05 15:17:28 +01:00
Icaro Motta 25072cff9f feat(messenger): Add option to copy active message ID (#22018)
Add option to copy message ID when long pressing on a chat message. Similar to
how it's implemented in the desktop client, the option is only visible if the
user enables the DEBUG log level.

Fixes https://github.com/status-im/status-mobile/issues/21984
2025-02-04 22:40:16 -03:00
Brian Sztamfater e38cb0dee6 feat: elevate and highlight wallet CTAs on wallet home screen (#21985)
Signed-off-by: Brian Sztamfater <brian@status.im>
2025-02-04 14:50:42 -03:00
Mohamed Javid ba4a8b7d81 fix(wallet)_: Clean send data on entering swap flow (#22007)
This commit fixes assets unsupported for the bridge and appears disabled on the swap flow.

Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2025-02-04 18:51:23 +05:30
Yevheniia Berdnyk 882e40d99f e2e: fix for wallet swap test 2025-02-03 18:01:36 +02:00
Mohamed Javid c304b1b623 feat(wallet)_: Remove EIP-3770 address format (#21995)
This commit:

- removes EIP-3770 address format (with chain prefix) from the UI and displays/uses only the address
- removes editing of preferred networks for an account and saved address
- copy/paste functions will remove the chain prefix from the address (if any)
- adds base chain explorer links to account and saved address


Signed-off-by: Mohamed Javid <19339952+smohamedjavid@users.noreply.github.com>
2025-02-03 21:24:24 +05:30
Brian Sztamfater 1da39e064d fix: prevent receiving routes for unsupported receiving chains on bridge flow (#21980)
https://github.com/status-im/status-go/compare/bec0c373...dcce8e9b

Signed-off-by: Brian Sztamfater <brian@status.im>
2025-02-03 00:46:42 -03:00
flexsurfer 3899368aa0 [#21930] Keycard - Back up keycard (#21990) 2025-01-31 18:42:08 +01:00
Yevheniia Berdnyk 5ff1c8f1e4 e2e: added wallet test for bridge flow 2025-01-30 20:13:34 +02:00
Brian Sztamfater 7289940653 fix: swap fees are not displayed if route estimated time is nil (#22001)
Signed-off-by: Brian Sztamfater <brian@status.im>
2025-01-30 10:08:37 -03:00
Yevheniia Berdnyk a253f8cedb e2e: updated tests with editing profile when starting chat 2025-01-30 11:49:58 +02:00
Ulises Manuel daf52102ce feat(onboarding): ask user to update their profile (#21862)
* Add `buttons-style` prop to bottom actions to allow same button dimensions

* Make events to update a profile more generic

* Fix tests

* Add modal screen to update the profile

* Add introduce yourself modal

* Ask user to update their profile before sending a message or contact request

* Fix color picker selected styles

* Remove some `:f>` now unnecessary

* No longer shows the modal if the user manually updates their profile
2025-01-29 19:50:01 -06:00
Yevheniia Berdnyk fa20d4d9c3 e2e: added wallet tests for send and swap flows on mainnet 2025-01-29 18:32:03 +02:00
Parvesh Monu dd26fcf42c Add Documentation drawer on Check your Keycard screen (#21997) 2025-01-29 19:25:34 +05:30
Lungu Cristian 8ac9cc08e1 Keycard signing for dapp interactions (#21785)
* feat: wip dapps signing with keycard

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* fix: hide the pin sheet before showing the connection sheet

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* fix: signing dapp request with password

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* fix: logic for getting the current dapp

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* fix: issues after endpoints update

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* feat: removed support for eth_sign and signTransaction

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* fix: removed unused event

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* feat: re-enable dapps interactions with keycard

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* fix: adapted to latest standard-auth changes

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* feat: enable connected dapps for keycard

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* ref: removed threading (->)

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* fix: get keycard keypair addresses manually

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>

* fix: wrong condition on utils/keycard-address?

---------

Signed-off-by: Cristian Lungu <lungucristian95@gmail.com>
2025-01-28 17:33:34 +02:00
294 changed files with 5175 additions and 2928 deletions
+2
View File
@@ -36,3 +36,5 @@ SHOW_NOT_IMPLEMENTED_FEATURES=0
ENABLE_ALERT_BANNER=0
FLAG_WALLET_CONNECT_ENABLED=1
API_LOGGING_ENABLED=1
SENTRY_ENABLED=0
SENTRY_ENVIRONMENT=ci-main
+2
View File
@@ -40,3 +40,5 @@ ENABLE_ALERT_BANNER=0
FLAG_WALLET_CONNECT_ENABLED=1
MOBILE_DATA_SYNCING_TOGGLE_ENABLE=0
API_LOGGING_ENABLED=1
SENTRY_ENABLED=0
SENTRY_ENVIRONMENT=ci-main
+2
View File
@@ -37,3 +37,5 @@ TEST_NETWORKS_ENABLED=1
ENABLE_ALERT_BANNER=1
FLAG_WALLET_CONNECT_ENABLED=1
API_LOGGING_ENABLED=1
SENTRY_ENABLED=0
SENTRY_ENVIRONMENT=ci-main
+2
View File
@@ -24,3 +24,5 @@ TEST_NETWORKS_ENABLED=0
ENABLE_ALERT_BANNER=1
FLAG_WALLET_CONNECT_ENABLED=1
API_LOGGING_ENABLED=1
SENTRY_ENABLED=1
SENTRY_ENVIRONMENT=ci-nightly
+3 -1
View File
@@ -2,7 +2,7 @@ DEBUG_WEBVIEW=0
ETHEREUM_DEV_CLUSTER=0
EXTENSIONS=0
GROUP_CHATS_ENABLED=1
LOG_LEVEL=
LOG_LEVEL=error
MAILSERVER_CONFIRMATIONS_ENABLED=1
MAINNET_WARNING_ENABLED=1
PFS_ENCRYPTION_ENABLED=1
@@ -21,3 +21,5 @@ TEST_NETWORKS_ENABLED=0
STATUS_PROXY_STAGE_NAME=prod
FLAG_WALLET_CONNECT_ENABLED=1
API_LOGGING_ENABLED=0
SENTRY_ENABLED=1
SENTRY_ENVIRONMENT=production
+4
View File
@@ -143,6 +143,10 @@ android {
kotlinOptions {
jvmTarget = JavaVersion.VERSION_17
}
// Disable default lint checks to remove redundant lintVitalReportRelease task
lintOptions {
checkReleaseBuilds false
}
// https://developer.android.com/studio/projects/install-ndk#vanilla_cmake
externalNativeBuild {
+2 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env groovy
library 'status-jenkins-lib@v1.9.13'
library 'status-jenkins-lib@v1.9.20'
/* Options section can't access functions in objects. */
def isPRBuild = utils.isPRBuild()
@@ -41,6 +41,7 @@ pipeline {
BUILD_ENV = 'prod'
NIX_CONF_DIR = "${env.WORKSPACE}/nix"
FASTLANE_DISABLE_COLORS = 1
SENTRY_PRODUCTION = "${utils.isReleaseBuild() ? 'true' : 'false'}"
}
stages {
+1 -2
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env groovy
library 'status-jenkins-lib@v1.9.13'
library 'status-jenkins-lib@v1.9.20'
import groovy.json.JsonBuilder
@@ -134,4 +134,3 @@ def updateBucketJSON(urls, fileName) {
writeFile(file: filePath, text: contentJson)
return s5cmd.upload(filePath)
}
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env groovy
library 'status-jenkins-lib@v1.9.13'
library 'status-jenkins-lib@v1.9.20'
pipeline {
agent { label 'linux' }
+2 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env groovy
library 'status-jenkins-lib@v1.9.13'
library 'status-jenkins-lib@v1.9.20'
/* Options section can't access functions in objects. */
def isPRBuild = utils.isPRBuild()
@@ -41,6 +41,7 @@ pipeline {
NIX_CONF_DIR = "${env.WORKSPACE}/nix"
FASTLANE_DISABLE_COLORS = 1
BUNDLE_PATH = "${HOME}/.bundle"
SENTRY_PRODUCTION = "${utils.isReleaseBuild() ? 'true' : 'false'}"
}
stages {
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env groovy
library 'status-jenkins-lib@v1.9.13'
library 'status-jenkins-lib@v1.9.20'
/* Options section can't access functions in objects. */
def isPRBuild = utils.isPRBuild()
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env groovy
library 'status-jenkins-lib@v1.9.13'
library 'status-jenkins-lib@v1.9.20'
pipeline {
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env groovy
library 'status-jenkins-lib@v1.9.13'
library 'status-jenkins-lib@v1.9.20'
pipeline {
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env groovy
library 'status-jenkins-lib@v1.9.13'
library 'status-jenkins-lib@v1.9.20'
pipeline {
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env groovy
library 'status-jenkins-lib@v1.9.13'
library 'status-jenkins-lib@v1.9.20'
pipeline {
agent { label 'macos' }
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env groovy
library 'status-jenkins-lib@v1.9.13'
library 'status-jenkins-lib@v1.9.20'
pipeline {
agent { label params.AGENT_LABEL }
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env groovy
library 'status-jenkins-lib@v1.9.13'
library 'status-jenkins-lib@v1.9.20'
pipeline {
agent { label 'linux' }
+1 -1
View File
@@ -1,5 +1,5 @@
#!/usr/bin/env groovy
library 'status-jenkins-lib@v1.9.13'
library 'status-jenkins-lib@v1.9.20'
pipeline {
agent {
+2 -2
View File
@@ -920,7 +920,7 @@ PODS:
- glog
- RCT-Folly (= 2022.05.16.00)
- React-Core
- react-native-compat (2.11.2):
- react-native-compat (2.17.3):
- glog
- RCT-Folly (= 2022.05.16.00)
- React-Core
@@ -1536,7 +1536,7 @@ SPEC CHECKSUMS:
react-native-blob-util: 600972b1782380a5a7d5db61a3817ea32349dae9
react-native-blur: b2b140d3d65077a1d5d26be62d9415f895592344
react-native-cameraroll: af8eec1e585d053ff485d98ec837f9a8a11b5745
react-native-compat: 3af9add14d349701306d3d052638435f6795ac2c
react-native-compat: fd639220cca206df6c74b95df56a1809d78ba5a3
react-native-config: 5330c8258265c1e5fdb8c009d2cabd6badd96727
react-native-get-random-values: 21325b2244dfa6b58878f51f9aa42821e7ba3d06
react-native-hole-view: 6935448993bac79f2b5a4ad7e9741094cf810679
@@ -35,6 +35,11 @@ class LogManager(private val reactContext: ReactApplicationContext) : ReactConte
return File(pubDirectory, gethLogFileName)
}
private fun getPreLoginLogFile(): File {
val pubDirectory = utils.getPublicStorageDirectory()
return File(pubDirectory, preLoginLogFileName)
}
fun prepareLogsFile(context: Context): File? {
val logFile = getGethLogFile()
@@ -156,6 +161,7 @@ class LogManager(private val reactContext: ReactApplicationContext) : ReactConte
val statusLogFile = File(logsTempDir, statusLogFileName)
val gethLogFile = getGethLogFile()
val requestLogFile = getRequestLogFile()
val preLoginLogFile = getPreLoginLogFile()
try {
if (zipFile.exists() || zipFile.createNewFile()) {
@@ -175,6 +181,9 @@ class LogManager(private val reactContext: ReactApplicationContext) : ReactConte
if (requestLogFile.exists()) {
filesToZip.add(requestLogFile)
}
if (preLoginLogFile.exists()) {
filesToZip.add(preLoginLogFile)
}
val zipped = zip(filesToZip.toTypedArray(), zipFile, errorList)
if (zipped && zipFile.exists()) {
zipFile.setReadable(true, false)
@@ -205,6 +214,7 @@ class LogManager(private val reactContext: ReactApplicationContext) : ReactConte
private const val gethLogFileName = "geth.log"
private const val statusLogFileName = "Status.log"
private const val requestsLogFileName = "api.log"
private const val preLoginLogFileName = "pre_login.log"
private const val logsZipFileName = "Status-debug-logs.zip"
}
}
@@ -108,6 +108,15 @@ class StatusModule(private val reactContext: ReactApplicationContext, private va
)
}
@ReactMethod
fun intendedPanic(message: String) {
StatusBackendClient.executeStatusGoRequest(
endpoint = "IntendedPanic",
requestBody = message,
statusgoFunction = { Statusgo.intendedPanic(message) },
)
}
@ReactMethod
fun addCentralizedMetric(request: String, callback: Callback) {
StatusBackendClient.executeStatusGoRequestWithCallback(
@@ -35,6 +35,7 @@ RCT_EXPORT_METHOD(sendLogs:(NSString *)dbJson
NSURL *mainGethLogsFile = [rootUrl URLByAppendingPathComponent:@"geth.log"];
NSURL *mainLogsFile = [logsFolderName URLByAppendingPathComponent:@"geth.log"];
NSURL *preLoginLogFile = [rootUrl URLByAppendingPathComponent:@"pre_login.log"];
NSURL *requestsLogFile = [rootUrl URLByAppendingPathComponent:@"api.log"];
@@ -46,6 +47,10 @@ RCT_EXPORT_METHOD(sendLogs:(NSString *)dbJson
if ([fileManager fileExistsAtPath:requestsLogFile.path]) {
[fileManager copyItemAtPath:requestsLogFile.path toPath:[logsFolderName URLByAppendingPathComponent:@"api.log"].path error:nil];
}
if ([fileManager fileExistsAtPath:preLoginLogFile.path]) {
[fileManager copyItemAtPath:preLoginLogFile.path toPath:[logsFolderName URLByAppendingPathComponent:@"pre_login.log"].path error:nil];
}
[SSZipArchive createZipFileAtPath:zipFile.path withContentsOfDirectory:logsFolderName.path];
[fileManager removeItemAtPath:logsFolderName.path error:nil];
@@ -109,6 +109,17 @@ RCT_EXPORT_METHOD(getNodeConfig:(RCTResponseSenderBlock)callback) {
callback:callback];
}
RCT_EXPORT_METHOD(intendedPanic:(NSString *)message) {
#if DEBUG
NSLog(@"IntendedPanic() method called");
#endif
[StatusBackendClient executeStatusGoRequest:@"IntendedPanic"
body:message
statusgoFunction:^NSString *{
return StatusgoIntendedPanic(message);
}];
}
RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(fleets) {
return [StatusBackendClient executeStatusGoRequestWithResult:@"Fleets"
body:@""
+229 -270
View File
@@ -8838,8 +8838,8 @@
"repo": "https://jitpack.io",
"files": {
"reflow-animator-1.0.6.pom": {
"sha1": "4fe3d33c764beebdc477d93a590f63dfa38a5f6b",
"sha256": "sha256-MEINlM+8v6LDFGREWswamEl17l26xa4eQHeKPcxbSI8="
"sha1": "d2c5089ae74a366676d9432c401e373b4895858e",
"sha256": "sha256-uanUNC0CwC2YnlQ4rpZBMdp+Is6UF36Y/Iwn6YLLHno="
},
"reflow-animator-1.0.6.aar": {
"sha1": "36074a3fcb77c2ba12bd2de7dde81441e0c7504f",
@@ -8898,20 +8898,20 @@
},
{
"path": "org/gradle/github-dependency-graph-gradle-plugin/1.3.1",
"path": "org/gradle/github-dependency-graph-gradle-plugin/1.3.2",
"repo": "https://plugins.gradle.org/m2",
"files": {
"github-dependency-graph-gradle-plugin-1.3.1.pom": {
"sha1": "5d95862731c88c1e9190fa27a7bd2ffe3ab549d7",
"sha256": "sha256-Zk7PNeEBetpWAp4e2rN5A+zn0NDsG3G5kU62uPssiJo="
"github-dependency-graph-gradle-plugin-1.3.2.pom": {
"sha1": "0740a44f4c99d3e2d9fbc2c89afcb195ec66dbdf",
"sha256": "sha256-xaVDODswVgtoaoIAtgCELvnd8IAx8AYdJA+FE3a0Jxs="
},
"github-dependency-graph-gradle-plugin-1.3.1.jar": {
"sha1": "c905642b753938ef0fa1cda1fc330fae1c4016aa",
"sha256": "sha256-0uYWjgzaasT18c62W6IElG2jW1Oe+X0O/4dflT5E61k="
"github-dependency-graph-gradle-plugin-1.3.2.jar": {
"sha1": "ba3d0995475c6aa79048e865d7923bbed20f36a0",
"sha256": "sha256-VdNKG2xBu75P6hSlZaERE3ZxOSSwAaPMjD2EnGSejQA="
},
"github-dependency-graph-gradle-plugin-1.3.1.module": {
"sha1": "818778b46a93f8d60f11cfa83c7ecbb2481706d8",
"sha256": "sha256-agfZPNoTEZDEU5USp5slvtvCfm5OxZucX7XuZ9xugzU="
"github-dependency-graph-gradle-plugin-1.3.2.module": {
"sha1": "879866cccedf304d8c484d3bb70eb6d699e9e118",
"sha256": "sha256-nBqz4Xbqelt3YhEAEG9aPzYC0+2MBcM1M+1Ys5PumhQ="
}
}
},
@@ -9052,16 +9052,16 @@
},
{
"path": "commons-codec/commons-codec/1.17.1",
"path": "commons-codec/commons-codec/1.18.0",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"commons-codec-1.17.1.pom": {
"sha1": "d187e2d50ab520895df0dcb9d88980ffea50bfa3",
"sha256": "sha256-f6DbTYFQ2vkylYuK6onuJKu00Y4jFqXeU1J4/BMVEqA="
"commons-codec-1.18.0.pom": {
"sha1": "2aa7395e4e4d63be2fd4439da7a01527235f76bf",
"sha256": "sha256-dLkW2ksDhMYZ5t1MGN7+iqQ4f3lSBSU8+0u7L0WM3c4="
},
"commons-codec-1.17.1.jar": {
"sha1": "973638b7149d333563584137ebf13a691bb60579",
"sha256": "sha256-+fbLED8t3DyZqdgK2irnvwaFER/Wv/zLcgM9HaTm/yM="
"commons-codec-1.18.0.jar": {
"sha1": "ee45d1cf6ec2cc2b809ff04b4dc7aec858e0df8f",
"sha256": "sha256-ugBfMEzvkqPe3iSjitWsm4r8zw2PdYOdbBM4Y0z39uQ="
}
}
},
@@ -9135,20 +9135,20 @@
},
{
"path": "commons-logging/commons-logging/1.3.4",
"path": "commons-logging/commons-logging/1.3.5",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"commons-logging-1.3.4.pom": {
"sha1": "e919eab34a66d31a9bbe15ddc563d7d2e6770826",
"sha256": "sha256-1L2jSJKqzL9PrTP8MjqKqQfvnXmYRlnaJJRMCoa/CGU="
"commons-logging-1.3.5.pom": {
"sha1": "378e7ead6461eabd50a97f6503d061cad0dcae9d",
"sha256": "sha256-zPSjA0b1AnuUlqvVYpCsJtFZq/K+ZN8SZWEdyUALnWg="
},
"commons-logging-1.3.4-api.jar": {
"sha1": "de4050262dfa7522365a9e3c76ed8cf4683fcffa",
"sha256": "sha256-X1zVkiUzQHDbaxctBaaFuEei+tY+WxjtAjqqpeErgh8="
"commons-logging-1.3.5-api.jar": {
"sha1": "2e234baf9b0fd82e4e2f0db3b9083900fbfe2f36",
"sha256": "sha256-6WjRzl2r6cQzxHbTd+ZSJzD2FttdtdKO2sfEWMtVMdw="
},
"commons-logging-1.3.4.jar": {
"sha1": "b9fc14968d63a8b8a8a2c1885fe3e90564239708",
"sha256": "sha256-vC3+MvHvBlCeagZRRMGt97Qg6r8RqH8wvRJ/j6ozIBY="
"commons-logging-1.3.5.jar": {
"sha1": "a3fcc5d3c29b2b03433aa2d2f2d2c1b1638924a1",
"sha256": "sha256-bXp0TkAnZJ+7UIld+Ul9EJ+Yx2amNwYv6NLqu7MUC6Q="
}
}
},
@@ -11836,12 +11836,12 @@
},
{
"path": "com/google/code/gson/gson-parent/2.11.0",
"path": "com/google/code/gson/gson-parent/2.12.1",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"gson-parent-2.11.0.pom": {
"sha1": "b32d3bc5c89c852efe4c176df6c3fdeccbe150ef",
"sha256": "sha256-issfO3Km8CaRasBzW62aqwKT1Sftt7NlMn3vE6k2e3o="
"gson-parent-2.12.1.pom": {
"sha1": "660107b2e76095ef86bbd15c503afe11e5260bfb",
"sha256": "sha256-yeewt+Mb574iaEl5wGgAHGUssRPE5u2JTjm2Q97gf8E="
}
}
},
@@ -11967,24 +11967,24 @@
},
{
"path": "com/google/code/gson/gson/2.11.0",
"path": "com/google/code/gson/gson/2.12.1",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"gson-2.11.0.pom": {
"sha1": "55796dd7cc329027df79e96c4e6631e3c02c93c5",
"sha256": "sha256-wOVHvqmYiI5uJcWIapDnYicryItSdTQ90sBd7Wyi42A="
"gson-2.12.1.pom": {
"sha1": "d2c3993ff96e5da39a57e5e0b695eda560949b57",
"sha256": "sha256-C1c17IX0UoLx4sdpd5gAQnsVCoFj9AUJOpKAtxyrGXg="
},
"gson-2.11.0.buildinfo": {
"sha1": "4d1c42ee3c07943d8e07fab98bf0491877b4c0c6",
"sha256": "sha256-d6O/J0uIwA+ieS0kkb+yLkeL3OUzOMUcMBHW7nDr0pI="
"gson-2.12.1.buildinfo": {
"sha1": "c2e219d4a63eebf78ce409ee8303eb930248f486",
"sha256": "sha256-fNm4d7ep72MLsQq/BeBRdEuam/9hzGJafTURb48yeuY="
},
"gson-2.11.0.buildinfo.asc": {
"sha1": "ba50162dd390a51e11a706d62ef9a5d120138337",
"sha256": "sha256-blLhhVcT0w8htC6V6rrqU+CZ3egMLBv5AgE76D+zGIY="
"gson-2.12.1.buildinfo.asc": {
"sha1": "01ba63402708ab4efbd2fa2f4dc5ee7f136b9479",
"sha256": "sha256-M+At44sk0y+mblm7UnhRzYzeO36NPGTpP3rTID/wJjU="
},
"gson-2.11.0.jar": {
"sha1": "527175ca6d81050b53bdd4c457a6d6e017626b0e",
"sha256": "sha256-V5KNblpu3rKr03cKj5W6RNzkXzsjt6ncKzCcWBVSp4s="
"gson-2.12.1.jar": {
"sha1": "4e773a317740b83b43cfc3d652962856041697cb",
"sha256": "sha256-6+4T1ft0d81/HMAQ4MNW34yoBwlxUkjal/eeNcy0++w="
}
}
},
@@ -12199,21 +12199,6 @@
}
},
{
"path": "com/google/errorprone/error_prone_annotations/2.27.0",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"error_prone_annotations-2.27.0.pom": {
"sha1": "85103026aa50b0e4efafee8f486e3ecd9ebfde31",
"sha256": "sha256-TKWjXWEjXhZUmsNG0eNFUc3w/ifoSqV+A8vrJV6k5do="
},
"error_prone_annotations-2.27.0.jar": {
"sha1": "91b2c29d8a6148b5e2e4930f070d4840e2e48e34",
"sha256": "sha256-JMkjNyxY410LnxagKJKbua7cd1IYZ8J08r0HNd9bofU="
}
}
},
{
"path": "com/google/errorprone/error_prone_annotations/2.36.0",
"repo": "https://repo.maven.apache.org/maven2",
@@ -12350,17 +12335,6 @@
}
},
{
"path": "com/google/errorprone/error_prone_parent/2.27.0",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"error_prone_parent-2.27.0.pom": {
"sha1": "336f77abf2668b10cae4ab136ea0c8258875de00",
"sha256": "sha256-+oGCnQSVWd9pJ/nJpv1rvQn4tQ5tRzaucsgwC2w9dlQ="
}
}
},
{
"path": "com/google/errorprone/error_prone_parent/2.36.0",
"repo": "https://repo.maven.apache.org/maven2",
@@ -12561,27 +12535,27 @@
},
{
"path": "com/google/guava/guava-parent/33.3.1-jre",
"path": "com/google/guava/guava-parent/33.4.0-jre",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"guava-parent-33.3.1-jre.pom": {
"sha1": "94729a0ed1dc35f623edd13afa6c1c2fe9a15d7c",
"sha256": "sha256-VUQdsn6Iad/v4FMFm99Hi9x+lVhWQr85HwAjNF/VYoc="
"guava-parent-33.4.0-jre.pom": {
"sha1": "ee79b87abc4ef9b3591db13c59de368c7b03dc79",
"sha256": "sha256-Okme00oNnuDxvMOSMAIaHNTi990EJqtoRPWFRl1B3Nc="
}
}
},
{
"path": "com/google/guava/guava-testlib/33.3.1-jre",
"path": "com/google/guava/guava-testlib/33.4.0-jre",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"guava-testlib-33.3.1-jre.pom": {
"sha1": "12fbde61e46674436b0ec48f9b54fbd5f78f8256",
"sha256": "sha256-4n6bu2lrvSCUeAF1YUO9EazSCFBFSnEILoceA+27PSw="
"guava-testlib-33.4.0-jre.pom": {
"sha1": "f92730965d606702deb41eca3afb47396b7a5c6a",
"sha256": "sha256-p+EQNjDV99XYCN3NnbnVhLvVldRW2UxpHOwJDQ7qZ/A="
},
"guava-testlib-33.3.1-jre.jar": {
"sha1": "a2eeefe29ae8a5b2b6d3a318295fa9a1925bdc61",
"sha256": "sha256-j943uKx8GbgmwhbfKvPXEd9JRb/baLPx5qHD9KUng1w="
"guava-testlib-33.4.0-jre.jar": {
"sha1": "e849ea71846b5ca96387d543c7ac862f18fe2513",
"sha256": "sha256-JF+agJa8uth2DSga3QKf4klh/pOZ3f6as3srsLCe7WI="
}
}
},
@@ -12767,20 +12741,20 @@
},
{
"path": "com/google/guava/guava/33.3.1-jre",
"path": "com/google/guava/guava/33.4.0-jre",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"guava-33.3.1-jre.pom": {
"sha1": "5a5628b34628748abcb73144a909ddbea2265ed9",
"sha256": "sha256-MTtn/BPrOwY07acVoSKZcfXem4GIvCgHYoFbg6J18ZM="
"guava-33.4.0-jre.pom": {
"sha1": "5c671f0be7aa66b15ed0ec2e1afb4ee99c8c78e8",
"sha256": "sha256-+pTbQAIt38d1r57PsTDM5RW5b3QNr4LyCvhG2VBUE0s="
},
"guava-33.3.1-jre.jar": {
"sha1": "852f8b363da0111e819460021ca693cacca3e8db",
"sha256": "sha256-S/Dixa+ORSXJbo/eF6T3MH+X+EePEcTI41oOMpiuTpA="
"guava-33.4.0-jre.jar": {
"sha1": "03fcc0a259f724c7de54a6a55ea7e26d3d5c0cac",
"sha256": "sha256-uRjJin5E2+lOvZ/j5Azdqttak+anjrYAi0LfI3JB5Tg="
},
"guava-33.3.1-jre.module": {
"sha1": "c99293bbf166d01849489fc6f94a101f79072aa7",
"sha256": "sha256-QYWMhHU/2WprfFESL8zvOVWMkcwIJk4IUGvPIODmNzM="
"guava-33.4.0-jre.module": {
"sha1": "edaf59b47aef1afba209dfafe1481ed86ff07f04",
"sha256": "sha256-gg6BfobEk6p6/9bLuZHuYJJbbIt0VB90LLIgcPbyBFk="
}
}
},
@@ -12953,12 +12927,12 @@
},
{
"path": "com/google/protobuf/protobuf-bom/4.29.0",
"path": "com/google/protobuf/protobuf-bom/4.30.0-RC1",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"protobuf-bom-4.29.0.pom": {
"sha1": "5542df7ac3708da8bf30756f4ee6d804d04b8c9b",
"sha256": "sha256-3L/Apl6DmDAE0HFOmL8NIGBwEUVbYhk5cowAkmvIyZk="
"protobuf-bom-4.30.0-RC1.pom": {
"sha1": "da26e5286a508eb4c29c3294f34d2fb932916cce",
"sha256": "sha256-Gs5LZwG6EhofKfwcjoPgc9pKFKCgex2GkjeMwK+GDYM="
}
}
},
@@ -13204,16 +13178,16 @@
},
{
"path": "com/google/protobuf/protobuf-java/4.29.0",
"path": "com/google/protobuf/protobuf-java/4.30.0-RC1",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"protobuf-java-4.29.0.pom": {
"sha1": "27c4abe9c47f4aed31cf7acff86853a05f7e85f0",
"sha256": "sha256-7cHftEVG5yel+sU/CQUGv6aN2DB65vEHbv+tVy+S16Q="
"protobuf-java-4.30.0-RC1.pom": {
"sha1": "9b1a4031569c7b624e2e7e0d7bb12fd752f37e39",
"sha256": "sha256-3A0yPW415z4X6ICF0obJblY2xk8N8WcLCULsC8MYass="
},
"protobuf-java-4.29.0.jar": {
"sha1": "ffea90ab158435d68de76951857ef5f8b0f98365",
"sha256": "sha256-FpAYUevl6J/oiqrTwmhmNzaVvC4wYnu4kyhH4vX8LnY="
"protobuf-java-4.30.0-RC1.jar": {
"sha1": "fe024780d64bf9edeb16d33974fd06799758a9e5",
"sha256": "sha256-ywRRWEELxFcCkN+AagbwIbYvLB4m7X4dtlczp8PzXoU="
}
}
},
@@ -13333,12 +13307,12 @@
},
{
"path": "com/google/protobuf/protobuf-parent/4.29.0",
"path": "com/google/protobuf/protobuf-parent/4.30.0-RC1",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"protobuf-parent-4.29.0.pom": {
"sha1": "c35e0844930aea715cc8f4335fee49223b1fe35c",
"sha256": "sha256-jU6O2nh45revZuPCtvWHE839P7bNsHGS3My2HN0uSTA="
"protobuf-parent-4.30.0-RC1.pom": {
"sha1": "bfd3c39ebcb48274c73c80b82a2925b26a2aea80",
"sha256": "sha256-vBZlQhUkJXKX06FCuoKNYc5/hD86HDSonJ4agltkvxQ="
}
}
},
@@ -13652,20 +13626,20 @@
},
{
"path": "com/squareup/okio/okio-jvm/3.9.1",
"path": "com/squareup/okio/okio-jvm/3.10.2",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"okio-jvm-3.9.1.pom": {
"sha1": "32a1fc013a444bd5d7c45346973c102d02dbeb1e",
"sha256": "sha256-VXZInO8kBTNoAPxt6VhUU18zVxpO/lpa0OybmwkNIdU="
"okio-jvm-3.10.2.pom": {
"sha1": "bf3c29f09bf646535ba5a72206280bd5d9631d90",
"sha256": "sha256-AP000Iv0YxNiofVSLKpXyuKMosfpOS76My72Vs/anUM="
},
"okio-jvm-3.9.1.jar": {
"sha1": "79696e3f4ff05d41ba2b3dc68adb5808a2e5dc53",
"sha256": "sha256-/m/pE3j5v6ewjDhkgozkGABc8orMoS6IR+tlxWXDdQA="
"okio-jvm-3.10.2.jar": {
"sha1": "6a2cc3acd5a83e66075a2f6c5b0608b6043fa34c",
"sha256": "sha256-/Qp+dsZzHwDpILe8EcBdgjqTIEVDGt1Ujgld4CCmnt4="
},
"okio-jvm-3.9.1.module": {
"sha1": "470544322c29b112668d2018c05fd94107b05e26",
"sha256": "sha256-sK+pGSxC18Rj3jjWMlk2xpAdnjtxSXNf/RihHfMQNKs="
"okio-jvm-3.10.2.module": {
"sha1": "e1125ef565c7f5fd6fbf0f925188c81febe1d0ee",
"sha256": "sha256-p4CkJMVx4odVASiuADMjVibf/iFsuNs7ICRkmWrZaPA="
}
}
},
@@ -13758,20 +13732,20 @@
},
{
"path": "com/squareup/okio/okio/3.9.1",
"path": "com/squareup/okio/okio/3.10.2",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"okio-3.9.1.pom": {
"sha1": "1cd169f2bbe6215607a62447b9e4b64a125b5e56",
"sha256": "sha256-06DDd+epr8zbsCqrXgUNwhL/2pQNvUcOo5cSpDQt8I4="
"okio-3.10.2.pom": {
"sha1": "3d4a51279ef5bc796682828afd74ef3ab54ad543",
"sha256": "sha256-7lbAIUoPqfER2nExxVDo3ICvDL9WCVbBzNosZtdQa0E="
},
"okio-3.9.1.jar": {
"sha1": "3f1067fc8f61b89e013ea121198c49c991d74cbb",
"sha256": "sha256-mcjrvEmV8p3ViwXXVYP8yLlX2yHu64xdiXM/DTSVWJc="
"okio-3.10.2.jar": {
"sha1": "5117e7c820a89b5722cc37fc9152d54131d4cd36",
"sha256": "sha256-3iJdy5APSY2cdVGHpEx043V2vYk62pa4bbYRDiellRM="
},
"okio-3.9.1.module": {
"sha1": "eaa18fe21ddaef8640880e11315ef39757fbc75f",
"sha256": "sha256-m5C0J0pa1gLdV01tS0iQNmOy3ppgufw0AiSCk9hD4SE="
"okio-3.10.2.module": {
"sha1": "0e038c29ef477f04b63b0f29847815c52decf3be",
"sha256": "sha256-P94fn79yxsMm1eiktTL0/Z/aLdDLFEK8pODHl9FBI4c="
}
}
},
@@ -15259,16 +15233,16 @@
},
{
"path": "io/netty/netty-tcnative-classes/2.0.69.Final",
"path": "io/netty/netty-tcnative-classes/2.0.70.Final",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"netty-tcnative-classes-2.0.69.Final.pom": {
"sha1": "ee65d639d3c5312a4b6369f0d59504ad0c8dfe0b",
"sha256": "sha256-WdoPlJ4r7on1cR6z4Mb9jPeRTmtwwAfza56waIJDAVw="
"netty-tcnative-classes-2.0.70.Final.pom": {
"sha1": "c1e1a8fdfb72675d90886ad28a6949529f798b1a",
"sha256": "sha256-QRtGiEv20l66H2RTU5HsWxCH6Rjg5T0iTkIgoE+zJnU="
},
"netty-tcnative-classes-2.0.69.Final.jar": {
"sha1": "0f018f36b688bafabe4573af230a8b59cf3c0713",
"sha256": "sha256-C7woSMsJnrP29Ow2UBs2AOGChFfNpB1TMGh/YB7gS+8="
"netty-tcnative-classes-2.0.70.Final.jar": {
"sha1": "5f75accc769e69f2e6c1e56ba3a08b6c4bcc25f8",
"sha256": "sha256-p5wVeTE9StSKPswdAaJdoG0i1kScO8w2nCMYdJvPVbw="
}
}
},
@@ -15285,12 +15259,12 @@
},
{
"path": "io/netty/netty-tcnative-parent/2.0.69.Final",
"path": "io/netty/netty-tcnative-parent/2.0.70.Final",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"netty-tcnative-parent-2.0.69.Final.pom": {
"sha1": "ba3c1cc69d48f0196ee84ecd3c5157c52a987931",
"sha256": "sha256-KVMCcZZjdhDIlPMr2nBQk82HaDFcnxpXOVGnXxeGmvw="
"netty-tcnative-parent-2.0.70.Final.pom": {
"sha1": "b5573ffca02a2c092bdb0f7e5efb7da495523ea4",
"sha256": "sha256-gHWl5UlncBGgcXXZuNqWOli4hLMujhAbdeeBUhc/3DU="
}
}
},
@@ -15768,16 +15742,16 @@
},
{
"path": "net/bytebuddy/byte-buddy-agent/1.15.4",
"path": "net/bytebuddy/byte-buddy-agent/1.15.11",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"byte-buddy-agent-1.15.4.pom": {
"sha1": "9440b88e2dfa9fb64979d9150453e5535c45e7d3",
"sha256": "sha256-UJEHS07O1v8WbjlDlHRk/0Lac5Y4BC34aDuj6MIJ51U="
"byte-buddy-agent-1.15.11.pom": {
"sha1": "4015ca3530951c4336155d578de83f0e6b900f8c",
"sha256": "sha256-tfoTlvFHl7jYCIJ+d0O6il8gO0iJvjLklj1EvV7XWag="
},
"byte-buddy-agent-1.15.4.jar": {
"sha1": "58e850dde88f3cf20f41f659440bef33f6c4fe02",
"sha256": "sha256-HXbe/RWaVkuct6lo0N6ic2e4tw6951qWjn7xkhvHXuQ="
"byte-buddy-agent-1.15.11.jar": {
"sha1": "a38b16385e867f59a641330f0362ebe742788ed8",
"sha256": "sha256-MW0sB5XCpNTEdW8ub5NJg3x0MKw04Ed+rYdNBfXMGeU="
}
}
},
@@ -15804,17 +15778,6 @@
}
},
{
"path": "net/bytebuddy/byte-buddy-parent/1.15.4",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"byte-buddy-parent-1.15.4.pom": {
"sha1": "d8cc6c53d8cda7c416764d4e4a74183546e1e5a2",
"sha256": "sha256-lwLCIT4/23CHv9M0tjQ80F9EUIqT64+Uqn2mVKwftI8="
}
}
},
{
"path": "net/bytebuddy/byte-buddy-parent/1.15.10",
"repo": "https://repo.maven.apache.org/maven2",
@@ -15826,6 +15789,17 @@
}
},
{
"path": "net/bytebuddy/byte-buddy-parent/1.15.11",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"byte-buddy-parent-1.15.11.pom": {
"sha1": "80e27b5d9cf8ba40dfd0b8ee8f7915d7237aec6d",
"sha256": "sha256-jcUZ16PnkhEqfNhB6vvsTwDbxjPQha3SDEXwq0dspJY="
}
}
},
{
"path": "net/bytebuddy/byte-buddy/1.11.13",
"repo": "https://repo.maven.apache.org/maven2",
@@ -15856,21 +15830,6 @@
}
},
{
"path": "net/bytebuddy/byte-buddy/1.15.4",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"byte-buddy-1.15.4.pom": {
"sha1": "1bab74a93db543cc550920d0cd7d58d8734bda4d",
"sha256": "sha256-L7uet+1bcChb8EOXvnjcKoUdDcLnSGXYFJfGGomOIb0="
},
"byte-buddy-1.15.4.jar": {
"sha1": "e8bd42992701720649765383ff570f415190b83f",
"sha256": "sha256-Smg9g/8hnyDUTzXKMC2CHgxoQuP6j58e6RPrFvSc7Gw="
}
}
},
{
"path": "net/bytebuddy/byte-buddy/1.15.10",
"repo": "https://repo.maven.apache.org/maven2",
@@ -15886,6 +15845,21 @@
}
},
{
"path": "net/bytebuddy/byte-buddy/1.15.11",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"byte-buddy-1.15.11.pom": {
"sha1": "c625e547e59a502e99eba31c1a5b1c514e8c64f5",
"sha256": "sha256-IFuLJUGWcX6B2tZyu4aacZr8lt8pf5fYEe/+H0NlPa4="
},
"byte-buddy-1.15.11.jar": {
"sha1": "f61886478e0f9ee4c21d09574736f0ff45e0a46c",
"sha256": "sha256-+giZiq4ee9roO94HEsUOhETXHA4MGWuyJHrejUrQ65A="
}
}
},
{
"path": "net/java/dev/jna/jna-platform/5.6.0",
"repo": "https://repo.maven.apache.org/maven2",
@@ -16459,17 +16433,6 @@
}
},
{
"path": "org/apache/apache/32",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"apache-32.pom": {
"sha1": "2e08f841a6fbc946452701faaf5e39a17ac97ef3",
"sha256": "sha256-z9hywOwn9Trmj0PbwP7N7YrddzB5pTr705DkB7Qs5y8="
}
}
},
{
"path": "org/apache/apache/33",
"repo": "https://repo.maven.apache.org/maven2",
@@ -16703,28 +16666,6 @@
}
},
{
"path": "org/apache/commons/commons-parent/71",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"commons-parent-71.pom": {
"sha1": "91d35791f5037779fb320d054ed09cb14925dc32",
"sha256": "sha256-lbe+cPMWrkyiL2+90I3iGC6HzYdKZQ3nw9M4anR6gqM="
}
}
},
{
"path": "org/apache/commons/commons-parent/72",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"commons-parent-72.pom": {
"sha1": "cdfbaff82e756be4cb74d3f09b8fbf8f6b06c79d",
"sha256": "sha256-Q0Xev8dnsa6saKvdcvxn0YtSHUs5A3KhG2P/DFhrIyA="
}
}
},
{
"path": "org/apache/commons/commons-parent/78",
"repo": "https://repo.maven.apache.org/maven2",
@@ -16736,6 +16677,28 @@
}
},
{
"path": "org/apache/commons/commons-parent/79",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"commons-parent-79.pom": {
"sha1": "a2f13e0fa1f22588976e02c39b840653986ba685",
"sha256": "sha256-Yo3zAUis08SRz8trc8euS1mJ5VJqsTovQo3qXUrRDXo="
}
}
},
{
"path": "org/apache/commons/commons-parent/81",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"commons-parent-81.pom": {
"sha1": "4a342190fb243a221636ac0e0b02d3eed07a9908",
"sha256": "sha256-NI1OfBMb5hFMhUpxnOekQwenw5vTZghJd7JP0prQ7bQ="
}
}
},
{
"path": "org/apache/httpcomponents/httpclient/4.1.1",
"repo": "https://repo.maven.apache.org/maven2",
@@ -17471,20 +17434,20 @@
},
{
"path": "org/checkerframework/checker-qual/3.48.2",
"path": "org/checkerframework/checker-qual/3.49.0",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"checker-qual-3.48.2.pom": {
"sha1": "95acb8356a028eeb22171b7330f7bb78cf0f9506",
"sha256": "sha256-Sk+LlzEYgyx4SrUIpzAJ2tAt5Nq/0dFJLWa45MC6HRE="
"checker-qual-3.49.0.pom": {
"sha1": "d13e380978f7ccc023bfef031f9d664d52c3877e",
"sha256": "sha256-yEUftI7+1jgbMpFG1PrvtvTYq/E79XLCaosawoCW54A="
},
"checker-qual-3.48.2.jar": {
"sha1": "2a4797df796b23026b8215545b0d2936bacc52af",
"sha256": "sha256-ryPyDJlbL+3jWx66gRd6mmaUTsZ7jk3uGapMwLcQxrU="
"checker-qual-3.49.0.jar": {
"sha1": "54be36cb42c9b991c109e467e2bfa82af4cda44e",
"sha256": "sha256-i52aNuqvfA/CZQPIPNl9jJwPnikTzCpukqwmxzXU3L4="
},
"checker-qual-3.48.2.module": {
"sha1": "cdf30d8d4b97e12fc85e65e1bd55210a1a084b10",
"sha256": "sha256-D2RjlMmz5KL1aitsZ6C0NAkqxrq3pJvC/wGtjKf08NU="
"checker-qual-3.49.0.module": {
"sha1": "b6e4941f8d6af0d46a496f72d1b8944e0ed8fd5d",
"sha256": "sha256-YA0Z+9XjfemEh8OYBF4UCmUc9brRx5xcl88MyYRMQuQ="
}
}
},
@@ -19901,16 +19864,16 @@
},
{
"path": "org/jetbrains/kotlin/kotlin-reflect/2.1.0",
"path": "org/jetbrains/kotlin/kotlin-reflect/2.1.20-Beta2",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"kotlin-reflect-2.1.0.pom": {
"sha1": "6c72cb76dbf12249eec091d5a7d6ea27a27fcc87",
"sha256": "sha256-nNhLPU9xfJYjXkujtydolcz/1V3kEcfOCz97q1Yu/kI="
"kotlin-reflect-2.1.20-Beta2.pom": {
"sha1": "1f22f7def1b72d86f0122e94963556693dcd9054",
"sha256": "sha256-TSmv4VZwoDfXO+C2ohrnzhcbhR5hQPWOERDtz2j/Djo="
},
"kotlin-reflect-2.1.0.jar": {
"sha1": "dc3753b59b67d79b7d2f546d51e22a0ec1f082d8",
"sha256": "sha256-tfYI7fqYqM+iNyzBLRitqXS+HFbBCT7/BswGH0/AiLI="
"kotlin-reflect-2.1.20-Beta2.jar": {
"sha1": "9747e5ae1b3b47d83f7a810fbdd603c90cd5b0ad",
"sha256": "sha256-MsWsLXYMzUpOX6IMg2JMSqx4DN7upMURajx3sgHgs4E="
}
}
},
@@ -21551,33 +21514,6 @@
}
},
{
"path": "org/jetbrains/kotlin/kotlin-stdlib/1.9.25",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"kotlin-stdlib-1.9.25.pom": {
"sha1": "cd80842137758a376e09fd243351e10abb0fa13c",
"sha256": "sha256-fcMxikdte5AtDSevm1b2Y+jMQmOi0zrQUMertlpbZ6E="
},
"kotlin-stdlib-1.9.25-all.jar": {
"sha1": "6c69e7b26179394dafd3c90e630ef763b8c1a267",
"sha256": "sha256-zsOLwzAucqiq+c3kNrWpBx7gMx4q0F6E2LuJczTX6dQ="
},
"kotlin-stdlib-1.9.25-common.jar": {
"sha1": "4c7276a1529397ee6389483a408c57a9c6d4ca7d",
"sha256": "sha256-zBF0wWk6JC3Wy8gWpSfEU+BBhJTjbFDNxleL9AFxrNs="
},
"kotlin-stdlib-1.9.25.jar": {
"sha1": "f700a2f2b8f0d6d0fde48f56d894dc722fb029d7",
"sha256": "sha256-+c3Nv/H13oU4CuUml35oNybCqkLbHtbm5Qronklulf0="
},
"kotlin-stdlib-1.9.25.module": {
"sha1": "b36cccb05e35f533bf4a44ce7ba25dca4d356a2b",
"sha256": "sha256-Q+BqZsO3XKPkxcswSWjqg1ImJHuj9WExK9Gepi3oRqc="
}
}
},
{
"path": "org/jetbrains/kotlin/kotlin-stdlib/2.1.0",
"repo": "https://repo.maven.apache.org/maven2",
@@ -21601,6 +21537,29 @@
}
},
{
"path": "org/jetbrains/kotlin/kotlin-stdlib/2.1.20-Beta2",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"kotlin-stdlib-2.1.20-Beta2.pom": {
"sha1": "4f06272e28b5e94f321d4f5e999110a95d93ea05",
"sha256": "sha256-MO2EkKrOoo71CWbghKGSZ/P1JqCL87tkkKUHe7fIgn4="
},
"kotlin-stdlib-2.1.20-Beta2-all.jar": {
"sha1": "919751264e79f13e6ec79f4eef1d5222e6520d31",
"sha256": "sha256-geB9406Esp4U8/3vkC9LxM8dXalZuGffaD++HMVM4eE="
},
"kotlin-stdlib-2.1.20-Beta2.jar": {
"sha1": "98e06078584a3b816315d9baee83d04022f3271c",
"sha256": "sha256-dDREYP6u8bxGO6aeUtUOfbAEn3E4uECxzz+yKom8/Vk="
},
"kotlin-stdlib-2.1.20-Beta2.module": {
"sha1": "42afc0b12293bb6474c45f25c4da99ae6fb16103",
"sha256": "sha256-SnA8ORhx/5f6h1qdImY6A3werSKT5SZ+CDK7U2pMHrY="
}
}
},
{
"path": "org/jetbrains/kotlin/kotlin-tooling-core/1.8.0",
"repo": "https://repo.maven.apache.org/maven2",
@@ -21801,16 +21760,16 @@
},
{
"path": "org/json/json/20240303",
"path": "org/json/json/20250107",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"json-20240303.pom": {
"sha1": "78c0fa2a26888461731e26603ef4b19cc53239ca",
"sha256": "sha256-mUuvXYm/TKpc6WjkxOqxNcj5eD7PTSt7Dp0cik3fHk8="
"json-20250107.pom": {
"sha1": "91b62e77c1b5a92b6dc79f8c0c154311e1477c85",
"sha256": "sha256-ph+87jbeXMAb7ZMEYseLwEvBZBCwHZtfEABq8UoRvFY="
},
"json-20240303.jar": {
"sha1": "0ebb88e8fb5122b7506d5cf1d69f1ccdb790d22a",
"sha256": "sha256-PPbNaJLjLitMHDng9S9SSKL1s3ZG/fu3mma0a2GEFO0="
"json-20250107.jar": {
"sha1": "a1b5f0b5a1ce018b93a691c57ffc7d141b3a10f1",
"sha256": "sha256-hdTBqxktMRf9Asf/8ewP5jreRc9W3vf+lQ7wYM8G6Z8="
}
}
},
@@ -21850,16 +21809,16 @@
},
{
"path": "org/junit/junit-bom/5.11.3",
"path": "org/junit/junit-bom/5.12.0-RC2",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"junit-bom-5.11.3.pom": {
"sha1": "ff35120d66bcbdd05c8b94b57b08b9d30f15c343",
"sha256": "sha256-8T3y5Mrx/rzlZ2Z+fDeBAaAzHVPRMk1uLf467Psfd3Q="
"junit-bom-5.12.0-RC2.pom": {
"sha1": "f7f31a9a73bd214137a5e22c45da37aa8fa893a1",
"sha256": "sha256-9H9ulor+J1iVBQAkFvwfbn78IHHc1HMNSDTUUp/XY+E="
},
"junit-bom-5.11.3.module": {
"sha1": "cbe8d3c987c55bc57869f232f052c0df0042c32b",
"sha256": "sha256-S/D1PO6nx5D9+9JNujyeBM3FGGQnnuv8V6qkc+vKA4A="
"junit-bom-5.12.0-RC2.module": {
"sha1": "49aa327f7c618b489654a7ac980a5647adf95be4",
"sha256": "sha256-5S09WIMqPhrcc3ky5x9gjbj5lefgLRpDmNjdhKDH/2o="
}
}
},
@@ -21955,16 +21914,16 @@
},
{
"path": "org/mockito/mockito-core/5.14.2",
"path": "org/mockito/mockito-core/5.15.2",
"repo": "https://repo.maven.apache.org/maven2",
"files": {
"mockito-core-5.14.2.pom": {
"sha1": "2f6476e2e7da6a275ebac685ed983d3f7bee84e3",
"sha256": "sha256-Y45Wpo9JaHm8ig9Tz735xMw5pFtuQ4ozOl6oPAnunP0="
"mockito-core-5.15.2.pom": {
"sha1": "199967c4a9531dd9b29ed2ef72fc4b427192466c",
"sha256": "sha256-/tgS0qLznJhHSyoUxjxl+PRxeDtggtyGfAwbYFPGlIA="
},
"mockito-core-5.14.2.jar": {
"sha1": "f7bf936008d7664e2002c3faf0c02071c8d10e7c",
"sha256": "sha256-IpYUHB4fLhrjXAjTapq0Vj7NZuA1M/6CYwp2TnqkkYI="
"mockito-core-5.15.2.jar": {
"sha1": "87be4b1e0cc5febc07ab3197a8ff3ede56b37a79",
"sha256": "sha256-v0i3Ny2UkdXsiuu0zdGH0VZjkxWZwPvnQQFmzg4eWP8="
}
}
},
+2 -2
View File
@@ -807,7 +807,7 @@ org.glassfish.jaxb:txw2:2.2.11
org.glassfish.jaxb:txw2:2.3.1
org.glassfish.jaxb:txw2:2.3.2
org.gradle.toolchains:foojay-resolver:0.5.0
org.gradle:github-dependency-graph-gradle-plugin:1.3.1
org.gradle:github-dependency-graph-gradle-plugin:1.3.2
org.hamcrest:hamcrest-core:1.3
org.hamcrest:hamcrest:2.2
org.jacoco:org.jacoco.core:0.7.4.201502262128
@@ -1021,5 +1021,5 @@ xml-apis:xml-apis:1.4.01
org.gradle.toolchains.foojay-resolver-convention:org.gradle.toolchains.foojay-resolver-convention.gradle.plugin:0.5.0
org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.8.0
com.android.tools.build:gradle:3.5.4
com.facebook.react:hermes-android:0.73.5
com.android.tools.lint:lint-gradle:31.1.1
com.facebook.react:hermes-android:0.73.5
+26 -29
View File
@@ -552,7 +552,7 @@ https://jitpack.io/com/github/wix-playground/reflow-animator/1.0.6/reflow-animat
https://jitpack.io/com/github/yalantis/ucrop/2.2.6-native/ucrop-2.2.6-native.pom
https://jitpack.io/com/github/zacharee/AndroidPdfViewer/4.0.1/AndroidPdfViewer-4.0.1.pom
https://plugins.gradle.org/m2/com/adarshr/gradle-test-logger-plugin/2.0.0/gradle-test-logger-plugin-2.0.0.pom
https://plugins.gradle.org/m2/org/gradle/github-dependency-graph-gradle-plugin/1.3.1/github-dependency-graph-gradle-plugin-1.3.1.pom
https://plugins.gradle.org/m2/org/gradle/github-dependency-graph-gradle-plugin/1.3.2/github-dependency-graph-gradle-plugin-1.3.2.pom
https://plugins.gradle.org/m2/org/gradle/toolchains/foojay-resolver-convention/org.gradle.toolchains.foojay-resolver-convention.gradle.plugin/0.5.0/org.gradle.toolchains.foojay-resolver-convention.gradle.plugin-0.5.0.pom
https://plugins.gradle.org/m2/org/gradle/toolchains/foojay-resolver/0.5.0/foojay-resolver-0.5.0.pom
https://repo.maven.apache.org/maven2/antlr/antlr/2.7.1/antlr-2.7.1.pom
@@ -562,12 +562,12 @@ https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.6/commons-cod
https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.9/commons-codec-1.9.pom
https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.10/commons-codec-1.10.pom
https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.11/commons-codec-1.11.pom
https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.17.1/commons-codec-1.17.1.pom
https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.18.0/commons-codec-1.18.0.pom
https://repo.maven.apache.org/maven2/commons-io/commons-io/2.4/commons-io-2.4.pom
https://repo.maven.apache.org/maven2/commons-io/commons-io/2.18.0/commons-io-2.18.0.pom
https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.pom
https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.2/commons-logging-1.2.pom
https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.3.4/commons-logging-1.3.4.pom
https://repo.maven.apache.org/maven2/commons-logging/commons-logging/1.3.5/commons-logging-1.3.5.pom
https://repo.maven.apache.org/maven2/com/adobe/xmp/xmpcore/6.1.11/xmpcore-6.1.11.pom
https://repo.maven.apache.org/maven2/com/afollestad/material-dialogs/commons/0.9.6.0/commons-0.9.6.0.pom
https://repo.maven.apache.org/maven2/com/afollestad/material-dialogs/core/0.9.6.0/core-0.9.6.0.pom
@@ -726,7 +726,7 @@ https://repo.maven.apache.org/maven2/com/google/code/gson/gson-parent/2.8.5/gson
https://repo.maven.apache.org/maven2/com/google/code/gson/gson-parent/2.8.6/gson-parent-2.8.6.pom
https://repo.maven.apache.org/maven2/com/google/code/gson/gson-parent/2.8.9/gson-parent-2.8.9.pom
https://repo.maven.apache.org/maven2/com/google/code/gson/gson-parent/2.9.1/gson-parent-2.9.1.pom
https://repo.maven.apache.org/maven2/com/google/code/gson/gson-parent/2.11.0/gson-parent-2.11.0.pom
https://repo.maven.apache.org/maven2/com/google/code/gson/gson-parent/2.12.1/gson-parent-2.12.1.pom
https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.2.4/gson-2.2.4.pom
https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.3/gson-2.3.pom
https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.7/gson-2.7.pom
@@ -735,7 +735,7 @@ https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.8.5/gson-2.8.5.
https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.8.6/gson-2.8.6.pom
https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.8.9/gson-2.8.9.pom
https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.9.1/gson-2.9.1.pom
https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.11.0/gson-2.11.0.pom
https://repo.maven.apache.org/maven2/com/google/code/gson/gson/2.12.1/gson-2.12.1.pom
https://repo.maven.apache.org/maven2/com/google/crypto/tink/tink/1.3.0-rc2/tink-1.3.0-rc2.pom
https://repo.maven.apache.org/maven2/com/google/crypto/tink/tink/1.7.0/tink-1.7.0.pom
https://repo.maven.apache.org/maven2/com/google/dagger/dagger/2.28.3/dagger-2.28.3.pom
@@ -750,7 +750,6 @@ https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotatio
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.9.0/error_prone_annotations-2.9.0.pom
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.10.0/error_prone_annotations-2.10.0.pom
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.11.0/error_prone_annotations-2.11.0.pom
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.27.0/error_prone_annotations-2.27.0.pom
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_annotations/2.36.0/error_prone_annotations-2.36.0.pom
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.0.18/error_prone_parent-2.0.18.pom
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.2.0/error_prone_parent-2.2.0.pom
@@ -763,7 +762,6 @@ https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.9.0/error_prone_parent-2.9.0.pom
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.10.0/error_prone_parent-2.10.0.pom
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.11.0/error_prone_parent-2.11.0.pom
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.27.0/error_prone_parent-2.27.0.pom
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.36.0/error_prone_parent-2.36.0.pom
https://repo.maven.apache.org/maven2/com/google/flatbuffers/flatbuffers-java/1.12.0/flatbuffers-java-1.12.0.pom
https://repo.maven.apache.org/maven2/com/google/google/1/google-1.pom
@@ -781,8 +779,8 @@ https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/30.1-jre/guav
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/31.0.1-android/guava-parent-31.0.1-android.pom
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/31.0.1-jre/guava-parent-31.0.1-jre.pom
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/31.1-jre/guava-parent-31.1-jre.pom
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/33.3.1-jre/guava-parent-33.3.1-jre.pom
https://repo.maven.apache.org/maven2/com/google/guava/guava-testlib/33.3.1-jre/guava-testlib-33.3.1-jre.pom
https://repo.maven.apache.org/maven2/com/google/guava/guava-parent/33.4.0-jre/guava-parent-33.4.0-jre.pom
https://repo.maven.apache.org/maven2/com/google/guava/guava-testlib/33.4.0-jre/guava-testlib-33.4.0-jre.pom
https://repo.maven.apache.org/maven2/com/google/guava/guava/17.0/guava-17.0.pom
https://repo.maven.apache.org/maven2/com/google/guava/guava/22.0/guava-22.0.pom
https://repo.maven.apache.org/maven2/com/google/guava/guava/23.0/guava-23.0.pom
@@ -795,7 +793,7 @@ https://repo.maven.apache.org/maven2/com/google/guava/guava/30.1-jre/guava-30.1-
https://repo.maven.apache.org/maven2/com/google/guava/guava/31.0.1-android/guava-31.0.1-android.pom
https://repo.maven.apache.org/maven2/com/google/guava/guava/31.0.1-jre/guava-31.0.1-jre.pom
https://repo.maven.apache.org/maven2/com/google/guava/guava/31.1-jre/guava-31.1-jre.pom
https://repo.maven.apache.org/maven2/com/google/guava/guava/33.3.1-jre/guava-33.3.1-jre.pom
https://repo.maven.apache.org/maven2/com/google/guava/guava/33.4.0-jre/guava-33.4.0-jre.pom
https://repo.maven.apache.org/maven2/com/google/guava/listenablefuture/1.0/listenablefuture-1.0.pom
https://repo.maven.apache.org/maven2/com/google/guava/listenablefuture/9999.0-empty-to-avoid-conflict-with-guava/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.pom
https://repo.maven.apache.org/maven2/com/google/j2objc/j2objc-annotations/1.1/j2objc-annotations-1.1.pom
@@ -809,7 +807,7 @@ https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-bom/3.13.0/pro
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-bom/3.17.2/protobuf-bom-3.17.2.pom
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-bom/3.19.2/protobuf-bom-3.19.2.pom
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-bom/3.19.3/protobuf-bom-3.19.3.pom
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-bom/4.29.0/protobuf-bom-4.29.0.pom
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-bom/4.30.0-RC1/protobuf-bom-4.30.0-RC1.pom
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-javalite/3.17.2/protobuf-javalite-3.17.2.pom
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-javalite/3.19.2/protobuf-javalite-3.19.2.pom
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java-util/3.4.0/protobuf-java-util-3.4.0.pom
@@ -826,7 +824,7 @@ https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.13.0/pr
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.17.2/protobuf-java-3.17.2.pom
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.19.2/protobuf-java-3.19.2.pom
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/3.19.3/protobuf-java-3.19.3.pom
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/4.29.0/protobuf-java-4.29.0.pom
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java/4.30.0-RC1/protobuf-java-4.30.0-RC1.pom
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-lite/3.0.1/protobuf-lite-3.0.1.pom
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/3.0.0/protobuf-parent-3.0.0.pom
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/3.4.0/protobuf-parent-3.4.0.pom
@@ -837,7 +835,7 @@ https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/3.13.0/
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/3.17.2/protobuf-parent-3.17.2.pom
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/3.19.2/protobuf-parent-3.19.2.pom
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/3.19.3/protobuf-parent-3.19.3.pom
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/4.29.0/protobuf-parent-4.29.0.pom
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/4.30.0-RC1/protobuf-parent-4.30.0-RC1.pom
https://repo.maven.apache.org/maven2/com/google/truth/truth-parent/1.4.4/truth-parent-1.4.4.pom
https://repo.maven.apache.org/maven2/com/google/truth/truth/1.4.4/truth-1.4.4.pom
https://repo.maven.apache.org/maven2/com/google/zxing/core/3.4.1/core-3.4.1.pom
@@ -858,13 +856,13 @@ https://repo.maven.apache.org/maven2/com/squareup/okhttp3/okhttp/4.11.0/okhttp-4
https://repo.maven.apache.org/maven2/com/squareup/okhttp3/parent/3.9.1/parent-3.9.1.pom
https://repo.maven.apache.org/maven2/com/squareup/okhttp3/parent/3.12.1/parent-3.12.1.pom
https://repo.maven.apache.org/maven2/com/squareup/okio/okio-jvm/3.2.0/okio-jvm-3.2.0.pom
https://repo.maven.apache.org/maven2/com/squareup/okio/okio-jvm/3.9.1/okio-jvm-3.9.1.pom
https://repo.maven.apache.org/maven2/com/squareup/okio/okio-jvm/3.10.2/okio-jvm-3.10.2.pom
https://repo.maven.apache.org/maven2/com/squareup/okio/okio-parent/1.17.4/okio-parent-1.17.4.pom
https://repo.maven.apache.org/maven2/com/squareup/okio/okio/1.17.4/okio-1.17.4.pom
https://repo.maven.apache.org/maven2/com/squareup/okio/okio/2.8.0/okio-2.8.0.pom
https://repo.maven.apache.org/maven2/com/squareup/okio/okio/2.9.0/okio-2.9.0.pom
https://repo.maven.apache.org/maven2/com/squareup/okio/okio/3.2.0/okio-3.2.0.pom
https://repo.maven.apache.org/maven2/com/squareup/okio/okio/3.9.1/okio-3.9.1.pom
https://repo.maven.apache.org/maven2/com/squareup/okio/okio/3.10.2/okio-3.10.2.pom
https://repo.maven.apache.org/maven2/com/sun/activation/all/1.2.0/all-1.2.0.pom
https://repo.maven.apache.org/maven2/com/sun/activation/all/1.2.1/all-1.2.1.pom
https://repo.maven.apache.org/maven2/com/sun/activation/all/1.2.2/all-1.2.2.pom
@@ -971,9 +969,9 @@ https://repo.maven.apache.org/maven2/io/netty/netty-resolver/4.1.52.Final/netty-
https://repo.maven.apache.org/maven2/io/netty/netty-resolver/4.1.72.Final/netty-resolver-4.1.72.Final.pom
https://repo.maven.apache.org/maven2/io/netty/netty-resolver/5.0.0.Alpha2/netty-resolver-5.0.0.Alpha2.pom
https://repo.maven.apache.org/maven2/io/netty/netty-tcnative-classes/2.0.46.Final/netty-tcnative-classes-2.0.46.Final.pom
https://repo.maven.apache.org/maven2/io/netty/netty-tcnative-classes/2.0.69.Final/netty-tcnative-classes-2.0.69.Final.pom
https://repo.maven.apache.org/maven2/io/netty/netty-tcnative-classes/2.0.70.Final/netty-tcnative-classes-2.0.70.Final.pom
https://repo.maven.apache.org/maven2/io/netty/netty-tcnative-parent/2.0.46.Final/netty-tcnative-parent-2.0.46.Final.pom
https://repo.maven.apache.org/maven2/io/netty/netty-tcnative-parent/2.0.69.Final/netty-tcnative-parent-2.0.69.Final.pom
https://repo.maven.apache.org/maven2/io/netty/netty-tcnative-parent/2.0.70.Final/netty-tcnative-parent-2.0.70.Final.pom
https://repo.maven.apache.org/maven2/io/netty/netty-transport/4.1.34.Final/netty-transport-4.1.34.Final.pom
https://repo.maven.apache.org/maven2/io/netty/netty-transport/4.1.52.Final/netty-transport-4.1.52.Final.pom
https://repo.maven.apache.org/maven2/io/netty/netty-transport/4.1.72.Final/netty-transport-4.1.72.Final.pom
@@ -1006,15 +1004,15 @@ https://repo.maven.apache.org/maven2/junit/junit/4.13.2/junit-4.13.2.pom
https://repo.maven.apache.org/maven2/me/zhanghai/android/materialprogressbar/library/1.4.2/library-1.4.2.pom
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.11.13/byte-buddy-agent-1.11.13.pom
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.11.19/byte-buddy-agent-1.11.19.pom
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.15.4/byte-buddy-agent-1.15.4.pom
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.15.11/byte-buddy-agent-1.15.11.pom
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-parent/1.11.13/byte-buddy-parent-1.11.13.pom
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-parent/1.11.19/byte-buddy-parent-1.11.19.pom
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-parent/1.15.4/byte-buddy-parent-1.15.4.pom
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-parent/1.15.10/byte-buddy-parent-1.15.10.pom
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-parent/1.15.11/byte-buddy-parent-1.15.11.pom
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.11.13/byte-buddy-1.11.13.pom
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.11.19/byte-buddy-1.11.19.pom
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.15.4/byte-buddy-1.15.4.pom
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.15.10/byte-buddy-1.15.10.pom
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.15.11/byte-buddy-1.15.11.pom
https://repo.maven.apache.org/maven2/net/java/dev/jna/jna-platform/5.6.0/jna-platform-5.6.0.pom
https://repo.maven.apache.org/maven2/net/java/dev/jna/jna/5.6.0/jna-5.6.0.pom
https://repo.maven.apache.org/maven2/net/java/jvnet-parent/1/jvnet-parent-1.pom
@@ -1058,7 +1056,6 @@ https://repo.maven.apache.org/maven2/org/apache/apache/16/apache-16.pom
https://repo.maven.apache.org/maven2/org/apache/apache/18/apache-18.pom
https://repo.maven.apache.org/maven2/org/apache/apache/21/apache-21.pom
https://repo.maven.apache.org/maven2/org/apache/apache/23/apache-23.pom
https://repo.maven.apache.org/maven2/org/apache/apache/32/apache-32.pom
https://repo.maven.apache.org/maven2/org/apache/apache/33/apache-33.pom
https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.8.1/commons-compress-1.8.1.pom
https://repo.maven.apache.org/maven2/org/apache/commons/commons-compress/1.12/commons-compress-1.12.pom
@@ -1078,9 +1075,9 @@ https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/39/common
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/42/commons-parent-42.pom
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/48/commons-parent-48.pom
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/52/commons-parent-52.pom
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/71/commons-parent-71.pom
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/72/commons-parent-72.pom
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/78/commons-parent-78.pom
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/79/commons-parent-79.pom
https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/81/commons-parent-81.pom
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.1.1/httpclient-4.1.1.pom
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.2.6/httpclient-4.2.6.pom
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.5.2/httpclient-4.5.2.pom
@@ -1135,7 +1132,7 @@ https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/2.8.1/che
https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/2.11.1/checker-qual-2.11.1.pom
https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/3.5.0/checker-qual-3.5.0.pom
https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/3.12.0/checker-qual-3.12.0.pom
https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/3.48.2/checker-qual-3.48.2.pom
https://repo.maven.apache.org/maven2/org/checkerframework/checker-qual/3.49.0/checker-qual-3.49.0.pom
https://repo.maven.apache.org/maven2/org/codehaus/codehaus-parent/4/codehaus-parent-4.pom
https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-xml/3.0.9/groovy-xml-3.0.9.pom
https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-xml/3.0.10/groovy-xml-3.0.10.pom
@@ -1285,7 +1282,7 @@ https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.6.10/
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.6.20/kotlin-reflect-1.6.20.pom
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.7.10/kotlin-reflect-1.7.10.pom
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/1.8.20-RC2/kotlin-reflect-1.8.20-RC2.pom
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/2.1.0/kotlin-reflect-2.1.0.pom
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-reflect/2.1.20-Beta2/kotlin-reflect-2.1.20-Beta2.pom
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-common/1.6.20/kotlin-scripting-common-1.6.20.pom
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-common/1.8.0/kotlin-scripting-common-1.8.0.pom
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-common/1.9.0/kotlin-scripting-common-1.9.0.pom
@@ -1394,8 +1391,8 @@ https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.8.21/k
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.8.22/kotlin-stdlib-1.8.22.pom
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.9.0/kotlin-stdlib-1.9.0.pom
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.9.22/kotlin-stdlib-1.9.22.pom
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.9.25/kotlin-stdlib-1.9.25.pom
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/2.1.0/kotlin-stdlib-2.1.0.pom
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/2.1.20-Beta2/kotlin-stdlib-2.1.20-Beta2.pom
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-tooling-core/1.8.0/kotlin-tooling-core-1.8.0.pom
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-tooling-core/1.9.0/kotlin-tooling-core-1.9.0.pom
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-tooling-metadata/1.6.20/kotlin-tooling-metadata-1.6.20.pom
@@ -1409,17 +1406,17 @@ https://repo.maven.apache.org/maven2/org/jetbrains/markdown-jvm/0.2.1/markdown-j
https://repo.maven.apache.org/maven2/org/jetbrains/markdown/0.2.1/markdown-0.2.1.pom
https://repo.maven.apache.org/maven2/org/jetbrains/trove4j/trove4j/20160824/trove4j-20160824.pom
https://repo.maven.apache.org/maven2/org/json/json/20180813/json-20180813.pom
https://repo.maven.apache.org/maven2/org/json/json/20240303/json-20240303.pom
https://repo.maven.apache.org/maven2/org/json/json/20250107/json-20250107.pom
https://repo.maven.apache.org/maven2/org/jsoup/jsoup/1.13.1/jsoup-1.13.1.pom
https://repo.maven.apache.org/maven2/org/jspecify/jspecify/1.0.0/jspecify-1.0.0.pom
https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.11.3/junit-bom-5.11.3.pom
https://repo.maven.apache.org/maven2/org/junit/junit-bom/5.12.0-RC2/junit-bom-5.12.0-RC2.pom
https://repo.maven.apache.org/maven2/org/jvnet/staxex/stax-ex/1.7.7/stax-ex-1.7.7.pom
https://repo.maven.apache.org/maven2/org/jvnet/staxex/stax-ex/1.8.1/stax-ex-1.8.1.pom
https://repo.maven.apache.org/maven2/org/jvnet/staxex/stax-ex/1.8/stax-ex-1.8.pom
https://repo.maven.apache.org/maven2/org/jvnet/staxex/stax-ex/2.1.0/stax-ex-2.1.0.pom
https://repo.maven.apache.org/maven2/org/mockito/mockito-core/3.12.4/mockito-core-3.12.4.pom
https://repo.maven.apache.org/maven2/org/mockito/mockito-core/4.0.0/mockito-core-4.0.0.pom
https://repo.maven.apache.org/maven2/org/mockito/mockito-core/5.14.2/mockito-core-5.14.2.pom
https://repo.maven.apache.org/maven2/org/mockito/mockito-core/5.15.2/mockito-core-5.15.2.pom
https://repo.maven.apache.org/maven2/org/mockito/mockito-inline/4.0.0/mockito-inline-4.0.0.pom
https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/3.2/objenesis-parent-3.2.pom
https://repo.maven.apache.org/maven2/org/objenesis/objenesis-parent/3.3/objenesis-parent-3.3.pom
+53
View File
@@ -0,0 +1,53 @@
#!/usr/bin/env bash
set -euo pipefail
# Fallback versions for each dependency
readonly FOOJAY_FALLBACK="0.5.0"
readonly KOTLIN_FALLBACK="1.8.0"
readonly TOOLS_FALLBACK="3.5.4"
readonly HERMES_FALLBACK="0.73.5"
readonly GRADLE_LINT_FALLBACK="31.1.1"
GIT_ROOT=$(cd "${BASH_SOURCE%/*}" && git rev-parse --show-toplevel)
cd "${GIT_ROOT}"
get_version() {
local file="$1"
local pattern="$2"
local fallback="$3"
local version
if [[ ! -f "$file" ]]; then
echo "$fallback"
return 0
fi
version=$(grep "$pattern" "$file" 2>/dev/null | grep -o "[0-9]\+\.[0-9]\+\.[0-9]\+\.*[0-9]*" | tail -n1 || echo "$fallback")
echo "$version"
}
# https://github.com/googlesamples/android-custom-lint-rules/blob/be672cd747ecf13844918e1afccadb935f856a72/docs/api-guide/example.md.html#L112-L129
get_gradle_lint_version() {
gradlePluginVersion=$(get_version "./nix/pkgs/aapt2/default.nix" "version =" $GRADLE_LINT_FALLBACK)
major=$(echo "$gradlePluginVersion" | grep -o "^[0-9]*")
# lintVersion = gradlePluginVersion + 23.0.0
major=$((major + 23))
minor=$(echo "$gradlePluginVersion" | grep -o "\.[0-9]*\." | grep -o "[0-9]*")
patch=$(echo "$gradlePluginVersion" | grep -o "[0-9]*$")
echo "$major.$minor.$patch"
}
foojay_version=$(get_version "./node_modules/@react-native/gradle-plugin/settings.gradle.kts" "foojay.*version" "$FOOJAY_FALLBACK")
kotlin_version=$(get_version "./node_modules/@react-native/gradle-plugin/gradle/libs.versions.toml" "kotlin =" "$KOTLIN_FALLBACK")
tools_version=$(get_version "./patches/BlurView-build.gradle.patch" "gradle:" "$TOOLS_FALLBACK")
hermes_version=$(get_version "./node_modules/react-native/ReactAndroid/gradle.properties" "VERSION_NAME" "$HERMES_FALLBACK")
lint_version=$(get_gradle_lint_version)
cat << EOF
org.gradle.toolchains.foojay-resolver-convention:org.gradle.toolchains.foojay-resolver-convention.gradle.plugin:$foojay_version
org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:$kotlin_version
com.android.tools.build:gradle:$tools_version
com.facebook.react:hermes-android:$hermes_version
com.android.tools.lint:lint-gradle:$lint_version
EOF
+2 -8
View File
@@ -38,16 +38,10 @@ function gen_deps_list() {
echo -e "${CLR}Found ${GRN}$(wc -l < "${DEPS_LIST}")${RST} direct dependencies..."
}
# FIXME: Temporary fix for missing packages.
# FIXME: Fix for missing packages.
# https://github.com/status-im/status-mobile/issues/15447
function add_deps_hack() {
echo -n \
'org.gradle.toolchains.foojay-resolver-convention:org.gradle.toolchains.foojay-resolver-convention.gradle.plugin:0.5.0
org.jetbrains.kotlin.jvm:org.jetbrains.kotlin.jvm.gradle.plugin:1.8.0
com.android.tools.build:gradle:3.5.4
com.android.tools.lint:lint-gradle:31.1.1
com.facebook.react:hermes-android:0.73.5' \
>> "${DEPS_LIST}"
"${CUR_DIR}/deps_hack.sh" >> "${DEPS_LIST}"
}
# Find download URLs for each dependency.
+2 -2
View File
@@ -1,8 +1,8 @@
#!/usr/bin/env bash
# This script generates a list of dependencies for the main project and its
# sub-projects defined using Gradle config files. It parses Gradle output of
# 'dependencies' and 'buildEnvironment` tasks using AWK.
# sub-projects defined using Gradle config files. It uses github-dependency-graph-gradle-plugin:
# https://github.com/gradle/github-dependency-graph-gradle-plugin?tab=readme-ov-file#using-the-plugin-to-generate-dependency-reports
set -Eeuo pipefail
+1 -1
View File
@@ -71,7 +71,7 @@ in stdenv.mkDerivation rec {
};
};
buildInputs = with pkgs; [ nodejs openjdk ];
buildInputs = with pkgs; [ nodejs openjdk_headless ];
nativeBuildInputs = with pkgs; [ bash gradle unzip ]
++ lib.optionals stdenv.isDarwin [ file gnumake ];
+1 -1
View File
@@ -8,7 +8,7 @@ rec {
shell = mkShell {
buildInputs = with pkgs; [
openjdk
openjdk_headless
gradle
lsof # used in start-react-native.sh
flock # used in nix/scripts/node_modules.sh
+1 -1
View File
@@ -38,7 +38,7 @@ stdenv.mkDerivation {
];
};
};
buildInputs = with pkgs; [ clojure nodejs bash git openjdk];
buildInputs = with pkgs; [ clojure nodejs bash git openjdk_headless ];
phases = [
"unpackPhase" "secretsPhase" "patchPhase"
"configurePhase" "buildPhase" "installPhase"
+7 -18
View File
@@ -49,29 +49,18 @@ in {
nodejs = super.nodejs_20;
ruby = super.ruby_3_1;
yarn = super.yarn.override { nodejs = super.nodejs_20; };
openjdk = super.openjdk17_headless;
openjdk_headless = super.openjdk17_headless;
xcodeWrapper = callPackage ./pkgs/xcodeenv/compose-xcodewrapper.nix { } {
versions = ["16.0" "16.1" "16.2"];
};
go = super.go_1_21;
go = super.go_1_22;
clang = super.clang_15;
buildGoPackage = super.buildGo121Package;
buildGoModule = super.buildGo121Module;
gomobile = (super.gomobile.overrideAttrs (old: {
patches = [
(self.fetchurl { # https://github.com/golang/mobile/pull/84
url = "https://github.com/golang/mobile/commit/f20e966e05b8f7e06bed500fa0da81cf6ebca307.patch";
sha256 = "sha256-TZ/Yhe8gMRQUZFAs9G5/cf2b9QGtTHRSObBFD5Pbh7Y=";
})
(self.fetchurl { # https://github.com/golang/go/issues/58426
url = "https://github.com/golang/mobile/commit/406ed3a7b8e44dc32844953647b49696d8847d51.patch";
sha256 = "sha256-dqbYukHkQEw8npOkKykOAzMC3ot/Y4DEuh7fE+ptlr8=";
})
];
})).override {
# FIXME: No Android SDK packages for aarch64-darwin.
withAndroidPkgs = stdenv.system != "aarch64-darwin";
buildGoPackage = super.buildGo122Package;
buildGoModule = super.buildGo122Module;
gomobile = callPackage ./pkgs/gomobile {
#FIXME: No Android SDK packages for aarch64-darwin.
androidPkgs = self.androidEnvCustom.compose;
withAndroidPkgs = stdenv.system != "aarch64-darwin";
};
# Android environment
+1
View File
@@ -10,6 +10,7 @@ let
pname = "aapt2";
# Warning: This must be the same as gradlePluginVersion android/gradle.properties
# also referenced in nix/deps/gradle/deps_hack.sh
version = "8.1.1-10154469";
pkgPath = "com/android/tools/build/aapt2";
+2 -2
View File
@@ -1,8 +1,8 @@
{ mkShell, openjdk, androidPkgs }:
{ mkShell, openjdk_headless, androidPkgs }:
mkShell {
name = "android-sdk-shell";
buildInputs = [ openjdk ];
buildInputs = [ openjdk_headless ];
shellHook = ''
export ANDROID_HOME="${androidPkgs.sdk}"
+85
View File
@@ -0,0 +1,85 @@
{
stdenv,
lib,
fetchgit,
fetchurl,
buildGo122Module,
zlib,
makeWrapper,
xcodeenv,
androidenv,
xcodeWrapperArgs ? { },
xcodeWrapper ? xcodeenv.composeXcodeWrapper xcodeWrapperArgs,
withAndroidPkgs ? stdenv.system != "aarch64-darwin",
androidPkgs ? (
androidenv.composeAndroidPackages {
includeNDK = true;
}
),
}:
buildGo122Module {
pname = "gomobile";
version = "0-unstable-2024-12-13";
src = fetchgit {
name = "gomobile";
url = "https://go.googlesource.com/mobile";
rev = "a87c1cf6cf463f0d4476cfe0fcf67c2953d76e7c";
hash = "sha256-7j4rdmCZMC8tn4vAsC9x/mMNkom/+Tl7uAY+5gkSvfY=";
};
vendorHash = "sha256-6ycxEDEE0/i6Lxo0gb8wq3U2U7Q49AJj+PdzSl57wwI=";
CGO_ENABLED = "1";
subPackages = [
"bind"
"cmd/gobind"
"cmd/gomobile"
];
# Fails with: go: cannot find GOROOT directory
doCheck = false;
nativeBuildInputs = [ makeWrapper ] ++ lib.optionals stdenv.hostPlatform.isDarwin [ xcodeWrapper ];
# Prevent a non-deterministic temporary directory from polluting the resulting object files
postPatch = ''
substituteInPlace cmd/gomobile/env.go --replace-quiet \
'tmpdir, err = ioutil.TempDir("", "gomobile-work-")' \
'tmpdir = filepath.Join(os.Getenv("NIX_BUILD_TOP"), "gomobile-work")'
substituteInPlace cmd/gomobile/init.go --replace-quiet \
'tmpdir, err = ioutil.TempDir(gomobilepath, "work-")' \
'tmpdir = filepath.Join(os.Getenv("NIX_BUILD_TOP"), "work")'
# To fix unable to import bind: no Go package in golang.org/x/mobile/bind
substituteInPlace cmd/gomobile/init.go --replace \
'golang.org/x/mobile/cmd/gobind@latest' \
'golang.org/x/mobile/cmd/gobind'
'';
# Necessary for GOPATH when using gomobile.
postInstall = ''
mkdir -p $out/src/golang.org/x
ln -s $src $out/src/golang.org/x/mobile
'';
postFixup = ''
for prog in gomobile gobind; do
wrapProgram $out/bin/$prog \
--suffix GOPATH : $out \
--prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ zlib ]}" \
${lib.optionalString withAndroidPkgs ''
--prefix PATH : "${androidPkgs.androidsdk}/bin" \
--set-default ANDROID_HOME "${androidPkgs.androidsdk}/libexec/android-sdk"
''}
done
'';
meta = {
description = "Tool for building and running mobile apps written in Go";
homepage = "https://pkg.go.dev/golang.org/x/mobile/cmd/gomobile";
license = with lib.licenses; [ bsd3 ];
maintainers = with lib.maintainers; [ jakubgs ];
};
}
+2 -2
View File
@@ -19,7 +19,7 @@ let
# for calling clojure targets in CI or Makefile
clojure = mkShell {
buildInputs = with pkgs; [
clojure flock maven openjdk
clojure flock maven openjdk_headless
# lint specific utilities
babashka clj-kondo clojure-lsp ripgrep zprint
];
@@ -61,7 +61,7 @@ let
# for 'scripts/generate-keystore.sh'
keytool = mkShell {
buildInputs = with pkgs; [ openjdk apksigner ];
buildInputs = with pkgs; [ openjdk_headless apksigner ];
};
# for targets needing 'adb', 'apkanalyzer' and other SDK/NDK tools
+6 -2
View File
@@ -1,5 +1,5 @@
{ callPackage, lib, buildGoPackage, pkgs
, androidPkgs, openjdk, gomobile, xcodeWrapper, removeReferencesTo
, androidPkgs, openjdk_headless, gomobile, xcodeWrapper, removeReferencesTo
, go-bindata, mockgen, protobuf3_20, protoc-gen-go
, meta
, source
@@ -32,7 +32,7 @@ in buildGoPackage rec {
extraSrcPaths = [ gomobile ];
nativeBuildInputs = [
gomobile removeReferencesTo go-bindata mockgen protoc-gen-go protobuf3_20 fakeGit
] ++ optional isAndroid openjdk
] ++ optional isAndroid openjdk_headless
++ optional isIOS xcodeWrapper;
ldflags = goBuildLdFlags;
@@ -48,6 +48,10 @@ in buildGoPackage rec {
# TODO: try removing when go is upgraded to 1.22
GODEBUG = "netdns=cgo+2";
# Sentry for status-go
SENTRY_CONTEXT_NAME = "status-mobile";
SENTRY_CONTEXT_VERSION = version;
preBuild = ''
echo 'Generate static files'
pushd go/src/$goPackagePath
+2 -3
View File
@@ -13,8 +13,8 @@ let
repo = "status-go";
rev = "unknown";
shortRev = rev;
rawVersion = "develop";
cleanVersion = rawVersion;
version = "unknown";
cleanVersion = version;
goPackagePath = "github.com/${owner}/${repo}";
# We use builtins.path so that we can name the resulting derivation,
# Normally the name would not be deterministic, taken from the checkout directory.
@@ -43,7 +43,6 @@ let
inherit (versionJSON) owner repo version;
rev = versionJSON.commit-sha1;
shortRev = strings.substring 0 7 rev;
rawVersion = versionJSON.version;
cleanVersion = lib.sanitizeVersion versionJSON.version;
# Need to pretend this is from status-im to let Go build it.
goPackagePath = "github.com/status-im/${repo}";
Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 278 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 300 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 157 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 135 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 276 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 327 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 128 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 229 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 106 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 195 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 151 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 269 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 136 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 428 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 195 KiB

After

Width:  |  Height:  |  Size: 235 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 345 KiB

After

Width:  |  Height:  |  Size: 441 KiB

+2 -1
View File
@@ -45,8 +45,9 @@ SECRETS_ENV_VARS=(
'INFURA_TOKEN_SECRET'
'OPENSEA_API_KEY'
'MIXPANEL_APP_ID'
'MIXPANEL_TOKEN'
'MIXPANEL_APP_TOKEN'
'POKT_TOKEN'
'SENTRY_DSN_STATUS_GO'
)
# Secrets like this can't be passed via args or they end up in derivation.
+34 -20
View File
@@ -77,8 +77,13 @@
#shadow/env "STATUS_BACKEND_SERVER_IMAGE_SERVER_URI_PREFIX"
status-im.config/STATUS_BACKEND_SERVER_ROOT_DATA_DIR #shadow/env
"STATUS_BACKEND_SERVER_ROOT_DATA_DIR"
;; Uncomment this line during development if you want to test the integration with Sentry.
;;
;; status-im.config/SENTRY_DSN_STATUS_GO #shadow/env "SENTRY_DSN_STATUS_GO"
status-im.config/MIXPANEL_APP_ID #shadow/env "MIXPANEL_APP_ID"
status-im.config/MIXPANEL_TOKEN #shadow/env "MIXPANEL_TOKEN"
status-im.config/MIXPANEL_APP_TOKEN #shadow/env "MIXPANEL_APP_TOKEN"
status-im.config/OPENSEA_API_KEY #shadow/env "OPENSEA_API_KEY"
status-im.config/RARIBLE_MAINNET_API_KEY #shadow/env "RARIBLE_MAINNET_API_KEY"
status-im.config/RARIBLE_TESTNET_API_KEY #shadow/env "RARIBLE_TESTNET_API_KEY"
@@ -89,7 +94,11 @@
status-im.config/ALCHEMY_OPTIMISM_MAINNET_TOKEN #shadow/env "ALCHEMY_OPTIMISM_MAINNET_TOKEN"
status-im.config/ALCHEMY_OPTIMISM_SEPOLIA_TOKEN #shadow/env "ALCHEMY_OPTIMISM_SEPOLIA_TOKEN"
status-im.config/ALCHEMY_BASE_MAINNET_TOKEN #shadow/env "ALCHEMY_BASE_MAINNET_TOKEN"
status-im.config/ALCHEMY_BASE_SEPOLIA_TOKEN #shadow/env "ALCHEMY_BASE_SEPOLIA_TOKEN"}
status-im.config/ALCHEMY_BASE_SEPOLIA_TOKEN #shadow/env "ALCHEMY_BASE_SEPOLIA_TOKEN"
status-im.config/STATUS_BUILD_ETH_RPC_PROXY_USER #shadow/env "STATUS_BUILD_ETH_RPC_PROXY_USER"
status-im.config/STATUS_BUILD_ETH_RPC_PROXY_PASSWORD #shadow/env
"STATUS_BUILD_ETH_RPC_PROXY_PASSWORD"
status-im.config/STATUS_BUILD_ETH_RPC_PROXY_URL #shadow/env "STATUS_BUILD_ETH_RPC_PROXY_URL"}
:compiler-options {:output-feature-set :es5
;; We disable `:fn-deprecated` warnings because we
;; are managing deprecation via clj-kondo and we
@@ -111,23 +120,28 @@
:chunks {:fleets legacy.status-im.fleet.default-fleet/default-fleets}
:release
{:closure-defines
{status-im.config/POKT_TOKEN #shadow/env "POKT_TOKEN"
status-im.config/INFURA_TOKEN #shadow/env "INFURA_TOKEN"
status-im.config/STATUS_BUILD_PROXY_USER #shadow/env "STATUS_BUILD_PROXY_USER"
status-im.config/STATUS_BUILD_PROXY_PASSWORD #shadow/env "STATUS_BUILD_PROXY_PASSWORD"
status-im.config/OPENSEA_API_KEY #shadow/env "OPENSEA_API_KEY"
status-im.config/MIXPANEL_APP_ID #shadow/env "MIXPANEL_APP_ID"
status-im.config/MIXPANEL_TOKEN #shadow/env "MIXPANEL_TOKEN"
status-im.config/RARIBLE_MAINNET_API_KEY #shadow/env "RARIBLE_MAINNET_API_KEY"
status-im.config/RARIBLE_TESTNET_API_KEY #shadow/env "RARIBLE_TESTNET_API_KEY"
status-im.config/ALCHEMY_ETHEREUM_MAINNET_TOKEN #shadow/env "ALCHEMY_ETHEREUM_MAINNET_TOKEN"
status-im.config/ALCHEMY_ETHEREUM_SEPOLIA_TOKEN #shadow/env "ALCHEMY_ETHEREUM_SEPOLIA_TOKEN"
status-im.config/ALCHEMY_ARBITRUM_MAINNET_TOKEN #shadow/env "ALCHEMY_ARBITRUM_MAINNET_TOKEN"
status-im.config/ALCHEMY_ARBITRUM_SEPOLIA_TOKEN #shadow/env "ALCHEMY_ARBITRUM_SEPOLIA_TOKEN"
status-im.config/ALCHEMY_OPTIMISM_MAINNET_TOKEN #shadow/env "ALCHEMY_OPTIMISM_MAINNET_TOKEN"
status-im.config/ALCHEMY_OPTIMISM_SEPOLIA_TOKEN #shadow/env "ALCHEMY_OPTIMISM_SEPOLIA_TOKEN"
status-im.config/ALCHEMY_BASE_MAINNET_TOKEN #shadow/env "ALCHEMY_BASE_MAINNET_TOKEN"
status-im.config/ALCHEMY_BASE_SEPOLIA_TOKEN #shadow/env "ALCHEMY_BASE_SEPOLIA_TOKEN"}
{status-im.config/POKT_TOKEN #shadow/env "POKT_TOKEN"
status-im.config/INFURA_TOKEN #shadow/env "INFURA_TOKEN"
status-im.config/STATUS_BUILD_PROXY_USER #shadow/env "STATUS_BUILD_PROXY_USER"
status-im.config/STATUS_BUILD_PROXY_PASSWORD #shadow/env "STATUS_BUILD_PROXY_PASSWORD"
status-im.config/SENTRY_DSN_STATUS_GO #shadow/env "SENTRY_DSN_STATUS_GO"
status-im.config/OPENSEA_API_KEY #shadow/env "OPENSEA_API_KEY"
status-im.config/MIXPANEL_APP_ID #shadow/env "MIXPANEL_APP_ID"
status-im.config/MIXPANEL_APP_TOKEN #shadow/env "MIXPANEL_APP_TOKEN"
status-im.config/RARIBLE_MAINNET_API_KEY #shadow/env "RARIBLE_MAINNET_API_KEY"
status-im.config/RARIBLE_TESTNET_API_KEY #shadow/env "RARIBLE_TESTNET_API_KEY"
status-im.config/ALCHEMY_ETHEREUM_MAINNET_TOKEN #shadow/env "ALCHEMY_ETHEREUM_MAINNET_TOKEN"
status-im.config/ALCHEMY_ETHEREUM_SEPOLIA_TOKEN #shadow/env "ALCHEMY_ETHEREUM_SEPOLIA_TOKEN"
status-im.config/ALCHEMY_ARBITRUM_MAINNET_TOKEN #shadow/env "ALCHEMY_ARBITRUM_MAINNET_TOKEN"
status-im.config/ALCHEMY_ARBITRUM_SEPOLIA_TOKEN #shadow/env "ALCHEMY_ARBITRUM_SEPOLIA_TOKEN"
status-im.config/ALCHEMY_OPTIMISM_MAINNET_TOKEN #shadow/env "ALCHEMY_OPTIMISM_MAINNET_TOKEN"
status-im.config/ALCHEMY_OPTIMISM_SEPOLIA_TOKEN #shadow/env "ALCHEMY_OPTIMISM_SEPOLIA_TOKEN"
status-im.config/ALCHEMY_BASE_MAINNET_TOKEN #shadow/env "ALCHEMY_BASE_MAINNET_TOKEN"
status-im.config/ALCHEMY_BASE_SEPOLIA_TOKEN #shadow/env "ALCHEMY_BASE_SEPOLIA_TOKEN"
status-im.config/STATUS_BUILD_ETH_RPC_PROXY_USER #shadow/env "STATUS_BUILD_ETH_RPC_PROXY_USER"
status-im.config/STATUS_BUILD_ETH_RPC_PROXY_PASSWORD #shadow/env
"STATUS_BUILD_ETH_RPC_PROXY_PASSWORD"
status-im.config/STATUS_BUILD_ETH_RPC_PROXY_URL #shadow/env "STATUS_BUILD_ETH_RPC_PROXY_URL"}
:compiler-options {:output-feature-set :es6
;;disable for android build as there
;;is an intermittent warning with deftype
@@ -160,7 +174,7 @@
status-im.config/INFURA_TOKEN #shadow/env "INFURA_TOKEN"
status-im.config/OPENSEA_API_KEY #shadow/env "OPENSEA_API_KEY"
status-im.config/MIXPANEL_APP_ID #shadow/env "MIXPANEL_APP_ID"
status-im.config/MIXPANEL_TOKEN #shadow/env "MIXPANEL_TOKEN"
status-im.config/MIXPANEL_APP_TOKEN #shadow/env "MIXPANEL_APP_TOKEN"
status-im.config/RARIBLE_MAINNET_API_KEY #shadow/env "RARIBLE_MAINNET_API_KEY"
status-im.config/RARIBLE_TESTNET_API_KEY #shadow/env "RARIBLE_TESTNET_API_KEY"
status-im.config/ALCHEMY_ETHEREUM_MAINNET_TOKEN #shadow/env "ALCHEMY_ETHEREUM_MAINNET_TOKEN"
+28 -6
View File
@@ -2,19 +2,41 @@
(:require
[legacy.status-im.multiaccounts.update.core :as multiaccounts.update]
[re-frame.core :as re-frame]
[taoensso.timbre :as log]
[utils.i18n :as i18n]
[utils.re-frame :as rf]))
(rf/defn save-log-level
{:events [:log-level.ui/change-log-level-confirmed]}
[{:keys [db] :as cofx} log-level]
[{:keys [db]} log-level]
(let [old-log-level (get-in db [:profile/profile :log-level])]
(when (not= old-log-level log-level)
(multiaccounts.update/multiaccount-update
cofx
:log-level
log-level
{:on-success #(re-frame/dispatch [:profile/logout])}))))
(let [need-set-log-enabled? (or (empty? old-log-level) (empty? log-level))
log-enabled? (boolean (seq log-level))
rpc-calls (cond-> []
log-enabled?
(conj {:method "wakuext_setLogLevel"
:params [{:logLevel log-level}]
:on-error #(log/error "Failed to set log level" %)})
need-set-log-enabled?
(conj {:method "wakuext_setLogEnabled"
:params [log-enabled?]
:on-error #(log/error "Failed to set log enabled" %)}))]
{:fx [[:json-rpc/call
(conj (vec (map #(assoc % :on-success nil) (butlast rpc-calls)))
(assoc (last rpc-calls)
:on-success
#(rf/dispatch [:log-level/update-multiaccount log-level])))]]}))))
(rf/defn update-multiaccount
{:events [:log-level/update-multiaccount]}
[cofx log-level]
(multiaccounts.update/multiaccount-update
cofx
:log-level
log-level
{:on-success #(rf/dispatch [:profile/logout])}))
(rf/defn show-change-log-level-confirmation
{:events [:log-level.ui/log-level-selected]}
@@ -1,10 +1,13 @@
(ns legacy.status-im.ui.screens.advanced-settings.views
(:require
[clojure.string :as string]
[legacy.status-im.ui.components.core :as components]
[legacy.status-im.ui.components.list.item :as list.item]
[legacy.status-im.ui.components.list.views :as list]
[quo.core :as quo]
[re-frame.core :as re-frame]
[status-im.config :as config]
[status-im.feature-flags :as ff]
[utils.i18n :as i18n]
[utils.re-frame :as rf])
(:require-macros [legacy.status-im.utils.views :as views]))
@@ -17,7 +20,16 @@
peer-syncing-enabled?]}]
(keep
identity
[{:size :small
[(when (ff/enabled? ::ff/app-monitoring.intentional-crash)
{:size :small
:title (str "Force crash immediately"
(when (string/blank? config/sentry-dsn-status-go)
" (Sentry DSN is not set)"))
:accessibility-label :intended-panic
:on-press (fn []
(re-frame/dispatch [:app-monitoring/intended-panic
"status-mobile intentional panic"]))})
{:size :small
:title (i18n/label :t/log-level)
:accessibility-label :log-level-settings-button
:on-press
@@ -33,6 +33,9 @@
name]]]]))
(def log-levels
"The status-go log library (zap) doesn't support the trace level, so we remove
the trace option from the UI. When trace is enabled an error will happen while
trying to login (user will see the error 'wrong password')."
[{:name "DISABLED"
:value ""}
{:name "ERROR"
@@ -42,9 +45,7 @@
{:name "INFO"
:value "INFO"}
{:name "DEBUG"
:value "DEBUG"}
{:name "TRACE"
:value "TRACE"}])
:value "DEBUG"}])
(views/defview log-level-settings
[]
+14 -6
View File
@@ -253,15 +253,19 @@
(defn hash-typed-data
"used for keycard"
[data callback]
(log/debug "[native-module] hash-typed-data")
(.hashTypedData ^js (encryption) data callback))
([data]
(native-utils/promisify-native-module-call hash-typed-data data))
([data callback]
(log/debug "[native-module] hash-typed-data")
(.hashTypedData ^js (encryption) data callback)))
(defn hash-typed-data-v4
"used for keycard"
[data callback]
(log/debug "[native-module] hash-typed-data-v4")
(.hashTypedDataV4 ^js (encryption) data callback))
([data]
(native-utils/promisify-native-module-call hash-typed-data-v4 data))
([data callback]
(log/debug "[native-module] hash-typed-data-v4")
(.hashTypedDataV4 ^js (encryption) data callback)))
(defn send-transaction-with-signature
"used for keycard"
@@ -565,3 +569,7 @@
(.createAccountFromPrivateKey ^js (account-manager)
(types/clj->json {:privateKey private-key})
callback)))
(defn intended-panic
[message]
(.intendedPanic ^js (status) message))
+4 -5
View File
@@ -10,11 +10,10 @@
([{:keys [style]} child]
(let [theme (quo.theme/use-theme)]
[rn/view
{:style (assoc style
:pointer-events :box-none
:background-color
(or (:background-color style)
(colors/theme-colors colors/white colors/neutral-80 theme)))}
{:style [style
{:pointer-events :box-none
:background-color (or (:background-color style)
(colors/theme-colors colors/white colors/neutral-80 theme))}]}
child])))
(def view (if platform/ios? blur/view view-android))
+59 -58
View File
@@ -56,62 +56,63 @@
24 8
12))})
(defn style-container
(defn container-styles
[{:keys [size disabled? border-radius background-color border-color icon-only? icon-top
icon-left icon-right]}]
(merge {:height size
:align-items :center
:justify-content :center
:flex-direction (if icon-top :column :row)
:padding-horizontal (when-not (or icon-only? icon-left icon-right)
(case size
56 (if border-color 10 11)
40 16
32 12
24 7
16))
:padding-left (when-not (or icon-only? icon-left)
(case size
56 nil
40 16
32 12
24 8
16))
:padding-right (when-not (or icon-only? icon-right)
(case size
56 nil
40 16
32 12
24 8
16))
:padding-top (when-not (or icon-only? icon-left icon-right)
(case size
56 0
40 (if border-color 8 9)
32 (if border-color 4 5)
24 0
(if border-color 8 9)))
:padding-bottom (when-not (or icon-only? icon-left icon-right)
(case size
56 0
40 9
32 5
24 0
9))
:overflow :hidden
:background-color (if disabled? (colors/alpha background-color 0.3) background-color)
:border-radius (if border-radius
border-radius
(case size
56 12
40 12
32 10
24 8
12))
:border-color border-color
:border-width (when border-color 1)}
(when icon-only?
{:width size})
(when border-color
{:border-color border-color
:border-width 1})))
icon-left icon-right inner-style]}]
[{:height size
:align-items :center
:justify-content :center
:flex-direction (if icon-top :column :row)
:padding-horizontal (when-not (or icon-only? icon-left icon-right)
(case size
56 (if border-color 10 11)
40 16
32 12
24 7
16))
:padding-left (when-not (or icon-only? icon-left)
(case size
56 nil
40 16
32 12
24 8
16))
:padding-right (when-not (or icon-only? icon-right)
(case size
56 nil
40 16
32 12
24 8
16))
:padding-top (when-not (or icon-only? icon-left icon-right)
(case size
56 0
40 (if border-color 8 9)
32 (if border-color 4 5)
24 0
(if border-color 8 9)))
:padding-bottom (when-not (or icon-only? icon-left icon-right)
(case size
56 0
40 9
32 5
24 0
9))
:overflow :hidden
:background-color (if disabled? (colors/alpha background-color 0.3) background-color)
:border-radius (if border-radius
border-radius
(case size
56 12
40 12
32 10
24 8
12))
:border-color border-color
:border-width (when border-color 1)}
(when icon-only?
{:width size})
(when border-color
{:border-color border-color
:border-width 1})
inner-style])
+4 -7
View File
@@ -62,12 +62,9 @@
:on-press on-press
:allow-multiple-presses? allow-multiple-presses?
:on-long-press on-long-press
:style (merge
(style/shape-style-container size border-radius)
container-style)}
:style [(style/shape-style-container size border-radius) container-style]}
[rn/view
{:style (merge
(style/style-container {:size size
{:style (style/container-styles {:size size
:disabled? disabled?
:border-radius border-radius
:background-color background-color
@@ -75,8 +72,8 @@
:icon-only? icon-only?
:icon-top icon-top
:icon-left icon-left
:icon-right icon-right})
inner-style)}
:icon-right icon-right
:inner-style inner-style})}
(when overlay-customization-color
[customization-colors/overlay
{:customization-color overlay-customization-color
@@ -58,7 +58,7 @@
:error
[info-message/view
{:icon :i/info
{:icon :i/alert
:size :default
:status :error}
text]
+2 -1
View File
@@ -30,7 +30,8 @@
selected? (assoc :border-top-color (colors/alpha color 0.4)
:border-end-color (colors/alpha color 0.4)
:border-bottom-color (colors/alpha color 0.2)
:border-start-color (colors/alpha color 0.2))
:border-start-color (colors/alpha color 0.2)
:border-color nil)
(zero? idx) (assoc :margin-left -4))))
(defn color-circle
@@ -55,7 +55,7 @@
[rn/view (style/card-view-chat-icon 48 theme)
[icon/community-icon {:images images} 48]]
(when (= status :gated)
[rn/view (style/permission-tag-styles)
[rn/view style/permission-tag-styles
[community-view/permission-tag-container
{:locked? locked?
:status status
@@ -63,10 +63,12 @@
[community-view/community-title
{:title name
:description description}]
[rn/view {:style (style/card-stats-position)}
[rn/view {:style style/card-stats-position}
[community-view/community-stats-column
{:type :card-view}]]
[rn/view {:style (style/community-tags-position)}
{:type :card-view
:members-count (:members-count community)
:active-members-count (:active-members-count community)}]]
[rn/view {:style style/community-tags-position}
[community-view/community-tags {:tags tags}]]]]]]))
(defn view
@@ -60,7 +60,7 @@
:style {:border-radius 12
:margin-left 12}}
props)
[rn/view (merge (style/membership-info-container) style)
[rn/view (merge style/membership-info-container style)
[community-icon/community-icon
{:images images} 32]
[rn/view
@@ -11,11 +11,8 @@
[react-native.gesture :as gesture]))
(defn community-stats-column
[{:keys [type members-count active-count]}]
[rn/view
(if (= type :card-view)
(style/card-stats-container)
(style/list-stats-container))
[{:keys [type members-count active-members-count]}]
[rn/view (if (= type :card-view) style/card-stats-container style/list-stats-container)
[community-stat/view
{:accessibility-label :stats-members-count
:icon :i/group
@@ -24,7 +21,7 @@
[community-stat/view
{:accessibility-label :stats-active-count
:icon :i/active-members
:value active-count}]])
:value active-members-count}]])
(defn community-tags
[{:keys [tags container-style last-item-style]}]
+12 -14
View File
@@ -17,24 +17,20 @@
(def detail-container
{:flex 1})
(defn card-stats-container
[]
(def card-stats-container
{:flex-direction :row})
(defn list-stats-container
[]
(def list-stats-container
{:flex-direction :row
:align-items :center})
(defn card-stats-position
[]
(def card-stats-position
{:position :absolute
:top 116
:right 12
:left 12})
(defn community-tags-position
[]
(def community-tags-position
{:position :absolute
:top 154
:right 12
@@ -68,8 +64,7 @@
colors/neutral-90
theme)})
(defn membership-info-container
[]
(def membership-info-container
{:flex-direction :row
:border-radius 16
:align-items :center
@@ -87,8 +82,7 @@
:border-top-left-radius 20
:background-color colors/primary-50-opa-20})
(defn permission-tag-styles
[]
(def permission-tag-styles
{:position :absolute
:top 8
:right 8})
@@ -146,10 +140,14 @@
:background-color (colors/theme-colors colors/white colors/neutral-90 theme)})
(def loading-tags-container
{:margin-top 20 :flex-direction :row :align-items :center})
{:margin-top 20
:flex-direction :row
:align-items :center})
(def loading-stats-container
{:margin-top 20 :flex-direction :row :align-items :center})
{:margin-top 20
:flex-direction :row
:align-items :center})
(defn loading-stat-circle
[theme margin-left]
@@ -31,7 +31,8 @@
[:scroll? {:optional true} [:maybe :boolean]]
[:blur? {:optional true} [:maybe :boolean]]
[:container-style {:optional true} [:maybe :map]]
[:buttons-container-style {:optional true} [:maybe :map]]]]]
[:buttons-container-style {:optional true} [:maybe :map]]
[:buttons-style {:optional true} [:maybe :map]]]]]
:any])
(def ^:private role-icon
@@ -43,10 +44,9 @@
(defn- view-internal
[{:keys [actions description description-text description-top-text error-message role button-one-label
button-two-label blur? button-one-props button-two-props scroll? container-style
buttons-container-style context-tag-props]}]
buttons-container-style buttons-style context-tag-props]}]
(let [theme (quo.theme/use-theme)]
[rn/view
{:style (merge (style/container scroll? blur? theme) container-style)}
[rn/view {:style (merge (style/container scroll? blur? theme) container-style)}
(when (= description :top-error)
[rn/view {:style style/error-message}
[icon/icon
@@ -82,7 +82,7 @@
[button/button
(merge
{:size 40
:container-style style/button-container
:container-style (merge style/button-container buttons-style)
:background (when (or blur? scroll?) :blur)
:theme theme
:accessibility-label :button-two}
@@ -91,7 +91,7 @@
[button/button
(merge
{:size 40
:container-style style/button-container
:container-style (merge style/button-container buttons-style)
:background (when (or blur? scroll?) :blur)
:theme theme
:accessibility-label :button-one}
@@ -13,11 +13,11 @@
(def content
{:align-items :flex-start
:margin-top 8
:margin-bottom (+ (safe-area/get-bottom) 12)})
(defn title
[theme]
{:color (colors/theme-colors colors/neutral-100
colors/white
theme)})
{:color (colors/theme-colors colors/neutral-100
colors/white
theme)
:margin-bottom 8})
@@ -24,12 +24,13 @@
:always-bounce-vertical false
:content-inset-adjustment-behavior :never}
[rn/view {:style style/container}
[text/text
{:size :heading-2
:accessibility-label :documentation-drawer-title
:style (style/title theme)
:weight :semi-bold}
title]
(when title
[text/text
{:size :heading-2
:accessibility-label :documentation-drawer-title
:style (style/title theme)
:weight :semi-bold}
title])
[rn/view {:style style/content :accessibility-label :documentation-drawer-content}
content
(when show-button?
@@ -57,17 +57,10 @@
:container-style style/keycard-icon}])])
(defn- account-subtitle
[{:keys [networks theme blur? description]}]
(if networks
[address-text/view
{:networks networks
:address description
:format :short}]
[text/text
{:size :paragraph-2
:weight :regular
:style (style/description theme blur?)}
description]))
[{:keys [description]}]
[address-text/view
{:address description
:format :short}])
(defn- default-keypair-subtitle
[{:keys [description theme blur?]}]
@@ -109,7 +102,7 @@
description])
(defn- subtitle
[{:keys [type theme blur? stored networks description community-name community-logo
[{:keys [type theme blur? stored description community-name community-logo
context-tag-type account-name emoji customization-color full-name profile-picture context
icon]}]
(cond
@@ -121,8 +114,7 @@
(= :account type)
[account-subtitle
{:networks networks
:theme theme
{:theme theme
:blur? blur?
:description description}]
@@ -205,11 +197,11 @@
(defn view
[{:keys [title title-icon type description blur? community-name community-logo button-icon
account-name emoji context-tag-type button-type container-style
on-button-press on-button-long-press profile-picture stored networks label full-name
on-button-press on-button-long-press profile-picture stored label full-name
button-disabled? account-avatar-emoji account-avatar-type customization-color icon-avatar
context icon]}]
(let [theme (quo.theme/use-theme)]
[rn/view {:style (merge style/container container-style)}
[rn/view {:style [style/container container-style]}
(when (left-image-supported-types type)
[rn/view {:style style/left-container}
[left-image
@@ -233,7 +225,6 @@
:theme theme
:blur? blur?
:stored stored
:networks networks
:description description
:community-name community-name
:community-logo community-logo
@@ -35,4 +35,4 @@
(def image-placeholder
{:width 80
:height 80
:background-color colors/danger})
:background-color colors/danger-50})
@@ -18,5 +18,5 @@
:colors [color-top color-bottom]
:start {:x 0 :y 0}
:end {:x 0 :y 1}
:style (merge (style/root-container opacity height)
container-style)}])))
:style [(style/root-container opacity height)
container-style]}])))
@@ -53,7 +53,7 @@
(colors/theme-colors colors/neutral-30 colors/neutral-60 theme)))
(defn address-input
[{:keys [default-value blur? on-change-text on-blur on-focus on-clear on-scan
[{:keys [default-value blur? on-change-text on-blur on-focus on-clear on-scan on-paste
on-detect-ens on-detect-address on-detect-unclassified address-regex ens-regex
valid-ens-or-address? container-style]}]
(let [theme (quo.theme/use-theme)
@@ -82,12 +82,13 @@
(not ens?)
on-detect-unclassified)
(on-detect-unclassified text)))))
on-paste (rn/use-callback
(fn []
(clipboard/get-string
(fn [clipboard]
(when-not (empty? clipboard)
(on-change clipboard))))))
on-paste (rn/use-callback #(if (fn? on-paste)
(on-paste on-change)
(clipboard/get-string
(fn [clipboard]
(when-not (empty? clipboard)
(on-change clipboard)))))
[on-paste])
on-clear (rn/use-callback
(fn []
(on-change "")
+2 -2
View File
@@ -31,7 +31,7 @@
:placeholder (colors/theme-colors colors/neutral-80-opa-20 colors/white-opa-20 theme)
:text (colors/theme-colors colors/neutral-100 colors/white theme)}
:error
{:border-color (colors/theme-colors colors/danger-opa-40 colors/danger-opa-40 theme)
{:border-color colors/danger-50-opa-40
:placeholder (colors/theme-colors colors/neutral-80-opa-40 colors/white-opa-40 theme)
:text (colors/theme-colors colors/neutral-100 colors/white theme)}
:disabled
@@ -48,7 +48,7 @@
:placeholder (colors/theme-colors colors/neutral-30 colors/neutral-60 theme)
:text (colors/theme-colors colors/neutral-100 colors/white theme)}
:error
{:border-color (colors/theme-colors colors/danger-opa-40 colors/danger-opa-40 theme)
{:border-color colors/danger-50-opa-40
:placeholder (colors/theme-colors colors/neutral-40 colors/white-opa-40 theme)
:text (colors/theme-colors colors/neutral-100 colors/white theme)}
:disabled

Some files were not shown because too many files have changed in this diff Show More