Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f49383db8e |
@@ -35,4 +35,4 @@ TEST_NETWORKS_ENABLED=1
|
|||||||
SHOW_NOT_IMPLEMENTED_FEATURES=0
|
SHOW_NOT_IMPLEMENTED_FEATURES=0
|
||||||
ENABLE_ALERT_BANNER=0
|
ENABLE_ALERT_BANNER=0
|
||||||
FLAG_WALLET_CONNECT_ENABLED=1
|
FLAG_WALLET_CONNECT_ENABLED=1
|
||||||
API_LOGGING_ENABLED=1
|
LOG_REQUEST_GO=1
|
||||||
|
|||||||
@@ -39,4 +39,4 @@ DELETE_MESSAGE_UNDO_TIME_LIMIT=10000
|
|||||||
ENABLE_ALERT_BANNER=0
|
ENABLE_ALERT_BANNER=0
|
||||||
FLAG_WALLET_CONNECT_ENABLED=1
|
FLAG_WALLET_CONNECT_ENABLED=1
|
||||||
MOBILE_DATA_SYNCING_TOGGLE_ENABLE=0
|
MOBILE_DATA_SYNCING_TOGGLE_ENABLE=0
|
||||||
API_LOGGING_ENABLED=1
|
LOG_REQUEST_GO=1
|
||||||
|
|||||||
@@ -36,4 +36,4 @@ FAST_CREATE_COMMUNITY_ENABLED=1
|
|||||||
TEST_NETWORKS_ENABLED=1
|
TEST_NETWORKS_ENABLED=1
|
||||||
ENABLE_ALERT_BANNER=1
|
ENABLE_ALERT_BANNER=1
|
||||||
FLAG_WALLET_CONNECT_ENABLED=1
|
FLAG_WALLET_CONNECT_ENABLED=1
|
||||||
API_LOGGING_ENABLED=1
|
LOG_REQUEST_GO=1
|
||||||
|
|||||||
@@ -23,4 +23,4 @@ FAST_CREATE_COMMUNITY_ENABLED=0
|
|||||||
TEST_NETWORKS_ENABLED=0
|
TEST_NETWORKS_ENABLED=0
|
||||||
ENABLE_ALERT_BANNER=1
|
ENABLE_ALERT_BANNER=1
|
||||||
FLAG_WALLET_CONNECT_ENABLED=1
|
FLAG_WALLET_CONNECT_ENABLED=1
|
||||||
API_LOGGING_ENABLED=0
|
LOG_REQUEST_GO=0
|
||||||
|
|||||||
@@ -20,4 +20,4 @@ FAST_CREATE_COMMUNITY_ENABLED=0
|
|||||||
TEST_NETWORKS_ENABLED=0
|
TEST_NETWORKS_ENABLED=0
|
||||||
STATUS_PROXY_STAGE_NAME=prod
|
STATUS_PROXY_STAGE_NAME=prod
|
||||||
FLAG_WALLET_CONNECT_ENABLED=1
|
FLAG_WALLET_CONNECT_ENABLED=1
|
||||||
API_LOGGING_ENABLED=0
|
LOG_REQUEST_GO=0
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ export STATUS_BACKEND_SERVER_HOST="127.0.0.1:60000"
|
|||||||
export STATUS_BACKEND_SERVER_ROOT_DATA_DIR="/path/to/your/root/data/dir"
|
export STATUS_BACKEND_SERVER_ROOT_DATA_DIR="/path/to/your/root/data/dir"
|
||||||
```
|
```
|
||||||
You need to change `STATUS_BACKEND_SERVER_ROOT_DATA_DIR` to your preferred directory and ensure it exists, it should be in absolute path.
|
You need to change `STATUS_BACKEND_SERVER_ROOT_DATA_DIR` to your preferred directory and ensure it exists, it should be in absolute path.
|
||||||
All the db files and log files(api.log/geth.log) and keystore files etc will be stored in this directory.
|
All the db files and log files(requests.log/geth.log) and keystore files etc will be stored in this directory.
|
||||||
|
|
||||||
### Start the status backend server:
|
### Start the status backend server:
|
||||||
```shell
|
```shell
|
||||||
|
|||||||
@@ -6,13 +6,13 @@ SECURE ETHEREUM WALLET
|
|||||||
The Status crypto wallet allows you to securely send, store, and exchange Ethereum assets such as ETH, SNT, stable coins such as DAI, as well as collectibles. Confidently take control of your cryptocurrency and digital assets with our multichain Ethereum wallet app, supporting mainnet, Arbitrum, and Optimism. The Status blockchain wallet currently only supports ETH, ERC-20, ERC-721, and ERC-1155 assets; it does not support Bitcoin.
|
The Status crypto wallet allows you to securely send, store, and exchange Ethereum assets such as ETH, SNT, stable coins such as DAI, as well as collectibles. Confidently take control of your cryptocurrency and digital assets with our multichain Ethereum wallet app, supporting mainnet, Arbitrum, and Optimism. The Status blockchain wallet currently only supports ETH, ERC-20, ERC-721, and ERC-1155 assets; it does not support Bitcoin.
|
||||||
|
|
||||||
PRIVATE MESSENGER
|
PRIVATE MESSENGER
|
||||||
Send private 1:1 and private group chats without anyone snooping on your communications. Status is a messenger app that eliminates centralized message relays for greater privacy and secure messaging. All messages are encrypted with end-to-end encryption. Additionally, no message exposes who the author or the intended recipient is, so nobody, not even Status, knows who is talking to who or what was said.
|
Send private 1:1 and private group chats without anyone snooping on your communications. Status is a messenger app that eliminates centralised message relays for greater privacy and secure messaging. All messages are encrypted with end-to-end encryption. Additionally, no message exposes who the author or the intended recipient is, so nobody, not even Status, knows who is talking to who or what was said.
|
||||||
|
|
||||||
EARN WITH DEFI
|
EARN WITH DEFI
|
||||||
Put your crypto to work with the latest decentralized finance apps and decentralized exchanges (DEX) such as Maker, Aave, Uniswap, Synthetix, PoolTogether, Zerion, Kyber, and more.
|
Put your crypto to work with the latest decentralised finance apps and decentralised exchanges (DEX) such as Maker, Aave, Uniswap, Synthetix, PoolTogether, Zerion, Kyber, and more.
|
||||||
|
|
||||||
CONNECT WITH YOUR COMMUNITY
|
CONNECT WITH YOUR COMMUNITY
|
||||||
Explore, connect, and chat with your favorite communities and friends. Whether it is a small group of friends, an artist collective, crypto traders, or the next big organization - text and communicate with Status communities.
|
Explore, connect, and chat with your favourite communities and friends. Whether it is a small group of friends, an artist collective, crypto traders, or the next big organization - text and communicate with Status communities.
|
||||||
|
|
||||||
PRIVATE ACCOUNT CREATION
|
PRIVATE ACCOUNT CREATION
|
||||||
Stay private with pseudo-anonymous account creation. When creating your free account, you will NEVER have to enter a phone number, email address, or bank account. Your wallet private keys are locally generated and securely stored to ensure only you have access to your funds and financial transactions.
|
Stay private with pseudo-anonymous account creation. When creating your free account, you will NEVER have to enter a phone number, email address, or bank account. Your wallet private keys are locally generated and securely stored to ensure only you have access to your funds and financial transactions.
|
||||||
|
Before Width: | Height: | Size: 192 KiB After Width: | Height: | Size: 192 KiB |
|
Before Width: | Height: | Size: 272 KiB After Width: | Height: | Size: 272 KiB |
|
Before Width: | Height: | Size: 263 KiB After Width: | Height: | Size: 263 KiB |
|
Before Width: | Height: | Size: 396 KiB After Width: | Height: | Size: 396 KiB |
|
Before Width: | Height: | Size: 222 KiB After Width: | Height: | Size: 222 KiB |
|
Before Width: | Height: | Size: 262 KiB After Width: | Height: | Size: 262 KiB |
|
Before Width: | Height: | Size: 202 KiB After Width: | Height: | Size: 202 KiB |
|
Before Width: | Height: | Size: 425 KiB After Width: | Height: | Size: 425 KiB |
@@ -57,11 +57,10 @@ abstract_target 'Status' do
|
|||||||
pod 'react-native-config', :path => '../node_modules/react-native-config'
|
pod 'react-native-config', :path => '../node_modules/react-native-config'
|
||||||
|
|
||||||
pod 'SSZipArchive', '2.4.3'
|
pod 'SSZipArchive', '2.4.3'
|
||||||
# to fix [!] CocoaPods could not find compatible versions for pod "CryptoSwift"
|
|
||||||
pod 'CryptoSwift', git: "https://github.com/krzyzanowskim/CryptoSwift", tag: '1.8.0'
|
|
||||||
pod "react-native-status-keycard", path: "../node_modules/react-native-status-keycard"
|
pod "react-native-status-keycard", path: "../node_modules/react-native-status-keycard"
|
||||||
pod "react-native-status", path: "../modules/react-native-status"
|
pod "react-native-status", path: "../modules/react-native-status"
|
||||||
pod "Keycard", git: "https://github.com/status-im/Keycard.swift.git", tag: '3.1.1'
|
pod "Keycard", git: "https://github.com/status-im/Keycard.swift.git"
|
||||||
pod 'secp256k1', git: "https://github.com/status-im/secp256k1.swift.git", submodules: true
|
pod 'secp256k1', git: "https://github.com/status-im/secp256k1.swift.git", submodules: true
|
||||||
|
|
||||||
target 'StatusIm' do
|
target 'StatusIm' do
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
PODS:
|
PODS:
|
||||||
- BigInt (5.2.0)
|
|
||||||
- boost (1.83.0)
|
- boost (1.83.0)
|
||||||
- CryptoSwift (1.8.0)
|
- CryptoSwift (1.5.1)
|
||||||
- DoubleConversion (1.1.6)
|
- DoubleConversion (1.1.6)
|
||||||
- FBLazyVector (0.73.5)
|
- FBLazyVector (0.73.5)
|
||||||
- FBReactNativeSpec (0.73.5):
|
- FBReactNativeSpec (0.73.5):
|
||||||
@@ -17,8 +16,7 @@ PODS:
|
|||||||
- hermes-engine/Pre-built (= 0.73.5)
|
- hermes-engine/Pre-built (= 0.73.5)
|
||||||
- hermes-engine/Pre-built (0.73.5)
|
- hermes-engine/Pre-built (0.73.5)
|
||||||
- HMSegmentedControl (1.5.6)
|
- HMSegmentedControl (1.5.6)
|
||||||
- Keycard (3.1.0):
|
- Keycard (3.0.6):
|
||||||
- BigInt
|
|
||||||
- CryptoSwift
|
- CryptoSwift
|
||||||
- secp256k1
|
- secp256k1
|
||||||
- SSZipArchive
|
- SSZipArchive
|
||||||
@@ -945,7 +943,7 @@ PODS:
|
|||||||
- React
|
- React
|
||||||
- react-native-status (1.0.0):
|
- react-native-status (1.0.0):
|
||||||
- React
|
- React
|
||||||
- react-native-status-keycard (2.6.2):
|
- react-native-status-keycard (2.5.39):
|
||||||
- Keycard
|
- Keycard
|
||||||
- React
|
- React
|
||||||
- react-native-webview (13.6.3):
|
- react-native-webview (13.6.3):
|
||||||
@@ -1194,13 +1192,12 @@ PODS:
|
|||||||
|
|
||||||
DEPENDENCIES:
|
DEPENDENCIES:
|
||||||
- boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
|
- boost (from `../node_modules/react-native/third-party-podspecs/boost.podspec`)
|
||||||
- CryptoSwift (from `https://github.com/krzyzanowskim/CryptoSwift`, tag `1.8.0`)
|
|
||||||
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
|
- DoubleConversion (from `../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec`)
|
||||||
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
|
- FBLazyVector (from `../node_modules/react-native/Libraries/FBLazyVector`)
|
||||||
- FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
|
- FBReactNativeSpec (from `../node_modules/react-native/React/FBReactNativeSpec`)
|
||||||
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
|
- glog (from `../node_modules/react-native/third-party-podspecs/glog.podspec`)
|
||||||
- hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`)
|
- hermes-engine (from `../node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec`)
|
||||||
- Keycard (from `https://github.com/status-im/Keycard.swift.git`, tag `3.1.1`)
|
- Keycard (from `https://github.com/status-im/Keycard.swift.git`)
|
||||||
- libevent (~> 2.1.12)
|
- libevent (~> 2.1.12)
|
||||||
- RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
|
- RCT-Folly (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
|
||||||
- RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
|
- RCT-Folly/Fabric (from `../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec`)
|
||||||
@@ -1288,7 +1285,7 @@ DEPENDENCIES:
|
|||||||
|
|
||||||
SPEC REPOS:
|
SPEC REPOS:
|
||||||
trunk:
|
trunk:
|
||||||
- BigInt
|
- CryptoSwift
|
||||||
- fmt
|
- fmt
|
||||||
- HMSegmentedControl
|
- HMSegmentedControl
|
||||||
- libevent
|
- libevent
|
||||||
@@ -1302,9 +1299,6 @@ SPEC REPOS:
|
|||||||
EXTERNAL SOURCES:
|
EXTERNAL SOURCES:
|
||||||
boost:
|
boost:
|
||||||
:podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec"
|
:podspec: "../node_modules/react-native/third-party-podspecs/boost.podspec"
|
||||||
CryptoSwift:
|
|
||||||
:git: https://github.com/krzyzanowskim/CryptoSwift
|
|
||||||
:tag: 1.8.0
|
|
||||||
DoubleConversion:
|
DoubleConversion:
|
||||||
:podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
|
:podspec: "../node_modules/react-native/third-party-podspecs/DoubleConversion.podspec"
|
||||||
FBLazyVector:
|
FBLazyVector:
|
||||||
@@ -1318,7 +1312,6 @@ EXTERNAL SOURCES:
|
|||||||
:tag: hermes-2024-02-20-RNv0.73.5-18f99ace4213052c5e7cdbcd39ee9766cd5df7e4
|
:tag: hermes-2024-02-20-RNv0.73.5-18f99ace4213052c5e7cdbcd39ee9766cd5df7e4
|
||||||
Keycard:
|
Keycard:
|
||||||
:git: https://github.com/status-im/Keycard.swift.git
|
:git: https://github.com/status-im/Keycard.swift.git
|
||||||
:tag: 3.1.1
|
|
||||||
RCT-Folly:
|
RCT-Folly:
|
||||||
:podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
|
:podspec: "../node_modules/react-native/third-party-podspecs/RCT-Folly.podspec"
|
||||||
RCTRequired:
|
RCTRequired:
|
||||||
@@ -1482,21 +1475,17 @@ EXTERNAL SOURCES:
|
|||||||
:path: "../node_modules/react-native/ReactCommon/yoga"
|
:path: "../node_modules/react-native/ReactCommon/yoga"
|
||||||
|
|
||||||
CHECKOUT OPTIONS:
|
CHECKOUT OPTIONS:
|
||||||
CryptoSwift:
|
|
||||||
:git: https://github.com/krzyzanowskim/CryptoSwift
|
|
||||||
:tag: 1.8.0
|
|
||||||
Keycard:
|
Keycard:
|
||||||
|
:commit: 17381678bb981c3c553bb7202a26e642cecb1817
|
||||||
:git: https://github.com/status-im/Keycard.swift.git
|
:git: https://github.com/status-im/Keycard.swift.git
|
||||||
:tag: 3.1.1
|
|
||||||
secp256k1:
|
secp256k1:
|
||||||
:commit: 46a1fa30d9b8babeae85ff519050f42394ab5fcc
|
:commit: 46a1fa30d9b8babeae85ff519050f42394ab5fcc
|
||||||
:git: https://github.com/status-im/secp256k1.swift.git
|
:git: https://github.com/status-im/secp256k1.swift.git
|
||||||
:submodules: true
|
:submodules: true
|
||||||
|
|
||||||
SPEC CHECKSUMS:
|
SPEC CHECKSUMS:
|
||||||
BigInt: f668a80089607f521586bbe29513d708491ef2f7
|
|
||||||
boost: d3f49c53809116a5d38da093a8aa78bf551aed09
|
boost: d3f49c53809116a5d38da093a8aa78bf551aed09
|
||||||
CryptoSwift: 52aaf3fce7337552863b1d952e408085f0e65030
|
CryptoSwift: c4f2debceb38bf44c80659afe009f71e23e4a082
|
||||||
DoubleConversion: fea03f2699887d960129cc54bba7e52542b6f953
|
DoubleConversion: fea03f2699887d960129cc54bba7e52542b6f953
|
||||||
FBLazyVector: 56e0e498dbb513b96c40bac6284729ba4e62672d
|
FBLazyVector: 56e0e498dbb513b96c40bac6284729ba4e62672d
|
||||||
FBReactNativeSpec: 146c741a3f40361f6bc13a4ba284678cbedb5881
|
FBReactNativeSpec: 146c741a3f40361f6bc13a4ba284678cbedb5881
|
||||||
@@ -1504,7 +1493,7 @@ SPEC CHECKSUMS:
|
|||||||
glog: c0eca6ffed0a6fde1965ef26dcc7bf528f052af4
|
glog: c0eca6ffed0a6fde1965ef26dcc7bf528f052af4
|
||||||
hermes-engine: 1d1835b2cc54c381909d94d1b3c8e0a2f1a94a0e
|
hermes-engine: 1d1835b2cc54c381909d94d1b3c8e0a2f1a94a0e
|
||||||
HMSegmentedControl: 34c1f54d822d8308e7b24f5d901ec674dfa31352
|
HMSegmentedControl: 34c1f54d822d8308e7b24f5d901ec674dfa31352
|
||||||
Keycard: 3bd24405b9a875b3b3cf1ab1be69b5c30c5f28bc
|
Keycard: ac6df4d91525c3c82635ac24d4ddd9a80aca5fc8
|
||||||
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
|
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
|
||||||
libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef
|
libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef
|
||||||
RCT-Folly: 7169b2b1c44399c76a47b5deaaba715eeeb476c0
|
RCT-Folly: 7169b2b1c44399c76a47b5deaaba715eeeb476c0
|
||||||
@@ -1545,7 +1534,7 @@ SPEC CHECKSUMS:
|
|||||||
react-native-shake: de052eaa3eadc4a326b8ddd7ac80c06e8d84528c
|
react-native-shake: de052eaa3eadc4a326b8ddd7ac80c06e8d84528c
|
||||||
react-native-slider: 12bd76d3d568c9c5500825db54123d44b48e4ad4
|
react-native-slider: 12bd76d3d568c9c5500825db54123d44b48e4ad4
|
||||||
react-native-status: 21f75d492fd311dc111303da38a7a2b23a8a8466
|
react-native-status: 21f75d492fd311dc111303da38a7a2b23a8a8466
|
||||||
react-native-status-keycard: 76a5c826352ee1d70de854b3e8b12670946bc1c8
|
react-native-status-keycard: f1c1227b2d5984c10fb44db68e4bfd2937f31e98
|
||||||
react-native-webview: 88293a0f23eca8465c0433c023ec632930e644d0
|
react-native-webview: 88293a0f23eca8465c0433c023ec632930e644d0
|
||||||
React-nativeconfig: 1166714a4f7ea57a0df5c2cb44fbc70f98d580f9
|
React-nativeconfig: 1166714a4f7ea57a0df5c2cb44fbc70f98d580f9
|
||||||
React-NativeModulesApple: 726664e9829eb5eed8170241000e46ead269a05f
|
React-NativeModulesApple: 726664e9829eb5eed8170241000e46ead269a05f
|
||||||
@@ -1593,6 +1582,6 @@ SPEC CHECKSUMS:
|
|||||||
TOCropViewController: edfd4f25713d56905ad1e0b9f5be3fbe0f59c863
|
TOCropViewController: edfd4f25713d56905ad1e0b9f5be3fbe0f59c863
|
||||||
Yoga: a716eea57d0d3430219c0a5a233e1e93ee931eb7
|
Yoga: a716eea57d0d3430219c0a5a233e1e93ee931eb7
|
||||||
|
|
||||||
PODFILE CHECKSUM: 81a66b45adddb083171ade882c343deb4faf2a8b
|
PODFILE CHECKSUM: 5dd4a5279260d370bcdf016158c825ceb404ee06
|
||||||
|
|
||||||
COCOAPODS: 1.15.2
|
COCOAPODS: 1.15.2
|
||||||
|
|||||||
@@ -248,14 +248,10 @@ class AccountManager(private val reactContext: ReactApplicationContext) : ReactC
|
|||||||
@ReactMethod
|
@ReactMethod
|
||||||
private fun initializeApplication(request: String, callback: Callback) {
|
private fun initializeApplication(request: String, callback: Callback) {
|
||||||
Log.d(TAG, "initializeApplication")
|
Log.d(TAG, "initializeApplication")
|
||||||
val jsonParams = JSONObject(request)
|
|
||||||
// for ios, the log dir will be the same as the root data dir, status-go will default to root data dir if logDir is not provided
|
|
||||||
jsonParams.put("logDir", utils.getPublicStorageDirectory()?.absolutePath)
|
|
||||||
val jsonString = jsonParams.toString()
|
|
||||||
StatusBackendClient.executeStatusGoRequestWithCallback(
|
StatusBackendClient.executeStatusGoRequestWithCallback(
|
||||||
"InitializeApplication",
|
"InitializeApplication",
|
||||||
jsonString,
|
request,
|
||||||
{ Statusgo.initializeApplication(jsonString) },
|
{ Statusgo.initializeApplication(request) },
|
||||||
callback
|
callback
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -195,6 +195,25 @@ class LogManager(private val reactContext: ReactApplicationContext) : ReactConte
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ReactMethod
|
||||||
|
fun initLogging(enabled: Boolean, mobileSystem: Boolean, logLevel: String, logRequestGo: Boolean, callback: Callback) {
|
||||||
|
val jsonConfig = JSONObject().apply {
|
||||||
|
put("Enabled", enabled)
|
||||||
|
put("MobileSystem", mobileSystem)
|
||||||
|
put("Level", logLevel)
|
||||||
|
put("File", getGethLogFile().absolutePath)
|
||||||
|
put("LogRequestGo", logRequestGo)
|
||||||
|
put("LogRequestFile", getRequestLogFile().absolutePath)
|
||||||
|
}
|
||||||
|
val config = jsonConfig.toString()
|
||||||
|
StatusBackendClient.executeStatusGoRequestWithCallback(
|
||||||
|
endpoint = "InitLogging",
|
||||||
|
requestBody = config,
|
||||||
|
statusgoFunction = { Statusgo.initLogging(config) },
|
||||||
|
callback = callback
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
@ReactMethod(isBlockingSynchronousMethod = true)
|
@ReactMethod(isBlockingSynchronousMethod = true)
|
||||||
fun logFileDirectory(): String? {
|
fun logFileDirectory(): String? {
|
||||||
return utils.getPublicStorageDirectory()?.absolutePath
|
return utils.getPublicStorageDirectory()?.absolutePath
|
||||||
@@ -204,7 +223,7 @@ class LogManager(private val reactContext: ReactApplicationContext) : ReactConte
|
|||||||
private const val TAG = "LogManager"
|
private const val TAG = "LogManager"
|
||||||
private const val gethLogFileName = "geth.log"
|
private const val gethLogFileName = "geth.log"
|
||||||
private const val statusLogFileName = "Status.log"
|
private const val statusLogFileName = "Status.log"
|
||||||
private const val requestsLogFileName = "api.log"
|
private const val requestsLogFileName = "requests.log"
|
||||||
private const val logsZipFileName = "Status-debug-logs.zip"
|
private const val logsZipFileName = "Status-debug-logs.zip"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ RCT_EXPORT_METHOD(sendLogs:(NSString *)dbJson
|
|||||||
NSURL *mainGethLogsFile = [rootUrl URLByAppendingPathComponent:@"geth.log"];
|
NSURL *mainGethLogsFile = [rootUrl URLByAppendingPathComponent:@"geth.log"];
|
||||||
NSURL *mainLogsFile = [logsFolderName URLByAppendingPathComponent:@"geth.log"];
|
NSURL *mainLogsFile = [logsFolderName URLByAppendingPathComponent:@"geth.log"];
|
||||||
|
|
||||||
NSURL *requestsLogFile = [rootUrl URLByAppendingPathComponent:@"api.log"];
|
NSURL *requestsLogFile = [rootUrl URLByAppendingPathComponent:@"requests.log"];
|
||||||
|
|
||||||
[dbJson writeToFile:dbFile.path atomically:YES encoding:NSUTF8StringEncoding error:nil];
|
[dbJson writeToFile:dbFile.path atomically:YES encoding:NSUTF8StringEncoding error:nil];
|
||||||
[jsLogs writeToFile:jsLogsFile.path atomically:YES encoding:NSUTF8StringEncoding error:nil];
|
[jsLogs writeToFile:jsLogsFile.path atomically:YES encoding:NSUTF8StringEncoding error:nil];
|
||||||
@@ -44,7 +44,7 @@ RCT_EXPORT_METHOD(sendLogs:(NSString *)dbJson
|
|||||||
[fileManager copyItemAtPath:mainGethLogsFile.path toPath:mainLogsFile.path error:nil];
|
[fileManager copyItemAtPath:mainGethLogsFile.path toPath:mainLogsFile.path error:nil];
|
||||||
|
|
||||||
if ([fileManager fileExistsAtPath:requestsLogFile.path]) {
|
if ([fileManager fileExistsAtPath:requestsLogFile.path]) {
|
||||||
[fileManager copyItemAtPath:requestsLogFile.path toPath:[logsFolderName URLByAppendingPathComponent:@"api.log"].path error:nil];
|
[fileManager copyItemAtPath:requestsLogFile.path toPath:[logsFolderName URLByAppendingPathComponent:@"requests.log"].path error:nil];
|
||||||
}
|
}
|
||||||
|
|
||||||
[SSZipArchive createZipFileAtPath:zipFile.path withContentsOfDirectory:logsFolderName.path];
|
[SSZipArchive createZipFileAtPath:zipFile.path withContentsOfDirectory:logsFolderName.path];
|
||||||
@@ -53,6 +53,43 @@ RCT_EXPORT_METHOD(sendLogs:(NSString *)dbJson
|
|||||||
callback(@[zipFile.absoluteString]);
|
callback(@[zipFile.absoluteString]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RCT_EXPORT_METHOD(initLogging:(BOOL)enabled
|
||||||
|
mobileSystem:(BOOL)mobileSystem
|
||||||
|
logLevel:(NSString *)logLevel
|
||||||
|
logRequestGo:(BOOL)logRequestGo
|
||||||
|
callback:(RCTResponseSenderBlock)callback)
|
||||||
|
{
|
||||||
|
NSString *logDirectory = [self logFileDirectory];
|
||||||
|
NSString *logFilePath = [logDirectory stringByAppendingPathComponent:@"geth.log"];
|
||||||
|
NSString *logRequestFilePath = [logDirectory stringByAppendingPathComponent:@"requests.log"];
|
||||||
|
|
||||||
|
NSDictionary *config = @{
|
||||||
|
@"Enabled": @(enabled),
|
||||||
|
@"MobileSystem": @(mobileSystem),
|
||||||
|
@"Level": logLevel,
|
||||||
|
@"File": logFilePath,
|
||||||
|
@"LogRequestGo": @(logRequestGo),
|
||||||
|
@"LogRequestFile": logRequestFilePath
|
||||||
|
};
|
||||||
|
|
||||||
|
NSError *error;
|
||||||
|
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:config options:0 error:&error];
|
||||||
|
|
||||||
|
if (error) {
|
||||||
|
NSLog(@"Error creating JSON: %@", [error localizedDescription]);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
NSString *configJson = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
|
||||||
|
|
||||||
|
[StatusBackendClient executeStatusGoRequestWithCallback:@"InitLogging"
|
||||||
|
body:configJson
|
||||||
|
statusgoFunction:^NSString *{
|
||||||
|
return StatusgoInitLogging(configJson);
|
||||||
|
}
|
||||||
|
callback:callback];
|
||||||
|
}
|
||||||
|
|
||||||
RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(logFileDirectory) {
|
RCT_EXPORT_BLOCKING_SYNCHRONOUS_METHOD(logFileDirectory) {
|
||||||
NSURL *rootUrl = [Utils getRootUrl];
|
NSURL *rootUrl = [Utils getRootUrl];
|
||||||
return rootUrl.path;
|
return rootUrl.path;
|
||||||
|
|||||||
@@ -8,7 +8,6 @@
|
|||||||
NSString *_statusGoEndpoint;
|
NSString *_statusGoEndpoint;
|
||||||
NSString *_signalEndpoint;
|
NSString *_signalEndpoint;
|
||||||
NSString *_rootDataDir;
|
NSString *_rootDataDir;
|
||||||
NSTimer *_pingTimer;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
RCT_EXPORT_MODULE();
|
RCT_EXPORT_MODULE();
|
||||||
@@ -78,8 +77,6 @@ RCT_EXPORT_MODULE();
|
|||||||
|
|
||||||
[self.webSocket resume];
|
[self.webSocket resume];
|
||||||
[self receiveMessage];
|
[self receiveMessage];
|
||||||
|
|
||||||
[self startPingTimer];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)receiveMessage {
|
- (void)receiveMessage {
|
||||||
@@ -112,7 +109,6 @@ RCT_EXPORT_MODULE();
|
|||||||
}
|
}
|
||||||
|
|
||||||
- (void)disconnectWebSocket {
|
- (void)disconnectWebSocket {
|
||||||
[self stopPingTimer];
|
|
||||||
if (self.webSocket) {
|
if (self.webSocket) {
|
||||||
[self.webSocket cancel];
|
[self.webSocket cancel];
|
||||||
self.webSocket = nil;
|
self.webSocket = nil;
|
||||||
@@ -123,7 +119,6 @@ RCT_EXPORT_MODULE();
|
|||||||
body:(NSString *)body
|
body:(NSString *)body
|
||||||
callback:(void (^)(NSString *response, NSError *error))callback {
|
callback:(void (^)(NSString *response, NSError *error))callback {
|
||||||
NSString *fullUrlString = [NSString stringWithFormat:@"%@%@", self.statusGoEndpoint, endpoint];
|
NSString *fullUrlString = [NSString stringWithFormat:@"%@%@", self.statusGoEndpoint, endpoint];
|
||||||
NSLog(@"StatusGo server is enabled, executing request, endpoint: %@, body: %@", fullUrlString, body);
|
|
||||||
NSURL *url = [NSURL URLWithString:fullUrlString];
|
NSURL *url = [NSURL URLWithString:fullUrlString];
|
||||||
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
|
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:url];
|
||||||
request.HTTPMethod = @"POST";
|
request.HTTPMethod = @"POST";
|
||||||
@@ -230,6 +225,7 @@ RCT_EXPORT_METHOD(configStatusBackendServer:(BOOL)serverEnabled
|
|||||||
if (client.serverEnabled) {
|
if (client.serverEnabled) {
|
||||||
dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
|
dispatch_semaphore_t semaphore = dispatch_semaphore_create(0);
|
||||||
__block NSString *resultString = @"";
|
__block NSString *resultString = @"";
|
||||||
|
|
||||||
[client request:endpoint body:body callback:^(NSString *response, NSError *error) {
|
[client request:endpoint body:body callback:^(NSString *response, NSError *error) {
|
||||||
if (error) {
|
if (error) {
|
||||||
NSLog(@"request to %@ failed: %@", endpoint, error);
|
NSLog(@"request to %@ failed: %@", endpoint, error);
|
||||||
@@ -247,33 +243,4 @@ RCT_EXPORT_METHOD(configStatusBackendServer:(BOOL)serverEnabled
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)startPingTimer {
|
|
||||||
[self stopPingTimer];
|
|
||||||
_pingTimer = [NSTimer scheduledTimerWithTimeInterval:30.0
|
|
||||||
target:self
|
|
||||||
selector:@selector(sendPing)
|
|
||||||
userInfo:nil
|
|
||||||
repeats:YES];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)stopPingTimer {
|
|
||||||
if (_pingTimer) {
|
|
||||||
[_pingTimer invalidate];
|
|
||||||
_pingTimer = nil;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- (void)sendPing {
|
|
||||||
if (self.webSocket) {
|
|
||||||
[self.webSocket sendPingWithPongReceiveHandler:^(NSError * _Nullable error) {
|
|
||||||
if (error) {
|
|
||||||
NSLog(@"WebSocket ping failed: %@", error);
|
|
||||||
// Reconnect on ping failure
|
|
||||||
[self disconnectWebSocket];
|
|
||||||
[self connectWebSocket];
|
|
||||||
}
|
|
||||||
}];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|||||||
@@ -1946,6 +1946,35 @@ void _ConnectionChange(const FunctionCallbackInfo<Value>& args) {
|
|||||||
ConnectionChange(arg0, arg1);
|
ConnectionChange(arg0, arg1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void _InitLogging(const FunctionCallbackInfo<Value>& args) {
|
||||||
|
Isolate* isolate = args.GetIsolate();
|
||||||
|
Local<Context> context = isolate->GetCurrentContext();
|
||||||
|
|
||||||
|
if (args.Length() != 1) {
|
||||||
|
// Throw an Error that is passed back to JavaScript
|
||||||
|
isolate->ThrowException(Exception::TypeError(
|
||||||
|
String::NewFromUtf8Literal(isolate, "Wrong number of arguments for InitLogging")));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check the argument types
|
||||||
|
if (!args[0]->IsString()) {
|
||||||
|
isolate->ThrowException(Exception::TypeError(
|
||||||
|
String::NewFromUtf8Literal(isolate, "Wrong argument type for 'logSettingsJSON'")));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
String::Utf8Value arg0Obj(isolate, args[0]->ToString(context).ToLocalChecked());
|
||||||
|
char *arg0 = *arg0Obj;
|
||||||
|
|
||||||
|
// Call exported Go function, which returns a C string
|
||||||
|
char *c = InitLogging(arg0);
|
||||||
|
|
||||||
|
Local<String> ret = String::NewFromUtf8(isolate, c).ToLocalChecked();
|
||||||
|
args.GetReturnValue().Set(ret);
|
||||||
|
delete c;
|
||||||
|
}
|
||||||
|
|
||||||
void _RestoreAccountAndLogin(const FunctionCallbackInfo<Value>& args) {
|
void _RestoreAccountAndLogin(const FunctionCallbackInfo<Value>& args) {
|
||||||
Isolate* isolate = args.GetIsolate();
|
Isolate* isolate = args.GetIsolate();
|
||||||
Local<Context> context = isolate->GetCurrentContext();
|
Local<Context> context = isolate->GetCurrentContext();
|
||||||
@@ -2035,6 +2064,7 @@ void init(Local<Object> exports) {
|
|||||||
NODE_SET_METHOD(exports, "hashTransaction", _HashTransaction);
|
NODE_SET_METHOD(exports, "hashTransaction", _HashTransaction);
|
||||||
NODE_SET_METHOD(exports, "connectionChange", _ConnectionChange);
|
NODE_SET_METHOD(exports, "connectionChange", _ConnectionChange);
|
||||||
NODE_SET_METHOD(exports, "pollSignal", _PollSignal);
|
NODE_SET_METHOD(exports, "pollSignal", _PollSignal);
|
||||||
|
NODE_SET_METHOD(exports, "initLogging", _InitLogging);
|
||||||
NODE_SET_METHOD(exports, "restoreAccountAndLogin", _RestoreAccountAndLogin);
|
NODE_SET_METHOD(exports, "restoreAccountAndLogin", _RestoreAccountAndLogin);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8789,31 +8789,31 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "com/github/status-im/status-keycard-java/android/3.1.2",
|
"path": "com/github/status-im/status-keycard-java/android/3.1.1",
|
||||||
"repo": "https://jitpack.io",
|
"repo": "https://jitpack.io",
|
||||||
"files": {
|
"files": {
|
||||||
"android-3.1.2.pom": {
|
"android-3.1.1.pom": {
|
||||||
"sha1": "9afce579939bad3c2b6d15787a0c861f6dbd9afa",
|
"sha1": "ac7e6699628e329dfc028345f32bc41c5d6c2f33",
|
||||||
"sha256": "sha256-hNYvQQKfHNmbGQw5P0sssZAI11wfRhLir46QdukK0bs="
|
"sha256": "sha256-EvrtvGGyvB3Fxp72KXYl46pIsxgf8vDMXk9IZjkuEIs="
|
||||||
},
|
},
|
||||||
"android-3.1.2.jar": {
|
"android-3.1.1.jar": {
|
||||||
"sha1": "46fe72fb8fca5935c73e0df5c10ccdd5c64fca8e",
|
"sha1": "26118061c0996fff357ae30cc360e5928c8dd455",
|
||||||
"sha256": "sha256-QNpDWQ1TWvCWg3YdL4UWSEiafpoHavXSY3VWCN45rtE="
|
"sha256": "sha256-4IjMQ6ZLAlsk4JC9sumOsRhdOF1F0L3Jl8dbEDOBoJY="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "com/github/status-im/status-keycard-java/lib/3.1.2",
|
"path": "com/github/status-im/status-keycard-java/lib/3.1.1",
|
||||||
"repo": "https://jitpack.io",
|
"repo": "https://jitpack.io",
|
||||||
"files": {
|
"files": {
|
||||||
"lib-3.1.2.pom": {
|
"lib-3.1.1.pom": {
|
||||||
"sha1": "0c0d8ef7318ba054457dea1e6624e0284aec91ca",
|
"sha1": "63c7bbd55ddbf88d1b89941f78158aa07fb46873",
|
||||||
"sha256": "sha256-Vs9p287YNgMD76/egyeHTqlIsENjwbZsspQbzs8QkeY="
|
"sha256": "sha256-ERsZGvECIQGlNusSk+13760//JU6SaONxOW9b3AHFvQ="
|
||||||
},
|
},
|
||||||
"lib-3.1.2.jar": {
|
"lib-3.1.1.jar": {
|
||||||
"sha1": "5df9eef589a72c5a3143f59b0f547092aeb0c309",
|
"sha1": "07f0374f17160c8731350316226ffe0de50f6f31",
|
||||||
"sha256": "sha256-M0P6r96RkgaIjC912Z/VxJgHmfm/ftl7rqYOto8A0Ic="
|
"sha256": "sha256-oaolZh+Ad/Dq6byP3SU8z19gUjPdV8wM0Ryobj1Y260="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -9082,16 +9082,16 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "commons-io/commons-io/2.18.0",
|
"path": "commons-io/commons-io/2.17.0",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"commons-io-2.18.0.pom": {
|
"commons-io-2.17.0.pom": {
|
||||||
"sha1": "cbd7a6fd54081f8e3d2a90c3cb74a91a31662a86",
|
"sha1": "af3aa19bcc67a14e5d0dad042e7d985f733cdff4",
|
||||||
"sha256": "sha256-Y9lpQetE35yQ0q2yrYw/aZwuBl5wcEXF2vcT/KUrz8o="
|
"sha256": "sha256-SEqTn/9TELjLXGuQKcLc8VXT+TuLjWKF8/VrsroJ/Ek="
|
||||||
},
|
},
|
||||||
"commons-io-2.18.0.jar": {
|
"commons-io-2.17.0.jar": {
|
||||||
"sha1": "44084ef756763795b31c578403dd028ff4a22950",
|
"sha1": "ddcc8433eb019fb48fe25207c0278143f3e1d7e2",
|
||||||
"sha256": "sha256-88oPjWPEDiOlbVQQHGDV7e4Ta0LYS/uFvHljCTEJz4s="
|
"sha256": "sha256-SqTKSPPf0wt4Igt4gdjLk+rECT7JQ2G2vvqUh5mKVQs="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -10987,20 +10987,20 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "com/fasterxml/jackson/core/jackson-annotations/2.18.2",
|
"path": "com/fasterxml/jackson/core/jackson-annotations/2.18.0",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"jackson-annotations-2.18.2.pom": {
|
"jackson-annotations-2.18.0.pom": {
|
||||||
"sha1": "40ab24a80879d82a46bd3653a43da88917e929c0",
|
"sha1": "15e211c936f255998ba87e8a80c14989f9895f08",
|
||||||
"sha256": "sha256-CyvWlOqJJn7qSBJqilskplI0xkM4dULSRGnRlb+6HPg="
|
"sha256": "sha256-pqA47zy3L8FXW5w4ZdpK2arX0COo1J3K0DeRBlVx6Bw="
|
||||||
},
|
},
|
||||||
"jackson-annotations-2.18.2.jar": {
|
"jackson-annotations-2.18.0.jar": {
|
||||||
"sha1": "985d77751ebc7fce5db115a986bc9aa82f973f4a",
|
"sha1": "9bddcc56af9d90f902ef5dba7348102cd12b04e2",
|
||||||
"sha256": "sha256-WBvWEADvdkiUP3gcoFaJ5W0D9gUnSDZajis6m10/oy8="
|
"sha256": "sha256-oJNn0u61Joc6v3N/91TFCF+CBzo4LucsO74VQSIXZx8="
|
||||||
},
|
},
|
||||||
"jackson-annotations-2.18.2.module": {
|
"jackson-annotations-2.18.0.module": {
|
||||||
"sha1": "9bd316d8447c1738d7bbfcc373693627c38eaea4",
|
"sha1": "c84262b96118cbb3bc27bf127735b93b18728a6c",
|
||||||
"sha256": "sha256-4Ruvm1NubflNqmNaEBPsPgabhmuOES3cKqBEahVQUNw="
|
"sha256": "sha256-DwmMCDBXb8nHVdQ9fzFuinV8k4ErNXdRJbNo/rzWA10="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -11021,20 +11021,20 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "com/fasterxml/jackson/core/jackson-core/2.18.2",
|
"path": "com/fasterxml/jackson/core/jackson-core/2.18.0",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"jackson-core-2.18.2.pom": {
|
"jackson-core-2.18.0.pom": {
|
||||||
"sha1": "9a77a48adfca5182e9f8b3ee20ee2b186477b089",
|
"sha1": "1d9d4da19eb2b14ba2975c254b6bfdd8ac4894fd",
|
||||||
"sha256": "sha256-4GWwA50h9N/ORr1DEEx9dtWFa9cy4qqGDMWkonDtct4="
|
"sha256": "sha256-2u9SqBcSdESKRuwovBCgBQldduysz4Fbp6Y6AaiGf2c="
|
||||||
},
|
},
|
||||||
"jackson-core-2.18.2.jar": {
|
"jackson-core-2.18.0.jar": {
|
||||||
"sha1": "fb64ccac5c27dca8819418eb4e443a9f496d9ee7",
|
"sha1": "65e8ead7de5d8f7a53e296c363bea3182f21f925",
|
||||||
"sha256": "sha256-2AVK58DRwtL1XSjkYCbr5YkogfP6tfQ5IzGEOBw7Sh8="
|
"sha256": "sha256-IVu9fI/WW+UEy5L/OqHEt5D8exTMpy9FRqrEFDwQG7U="
|
||||||
},
|
},
|
||||||
"jackson-core-2.18.2.module": {
|
"jackson-core-2.18.0.module": {
|
||||||
"sha1": "6a97d687f4996c423f97dc56f7e63860581f0f05",
|
"sha1": "b7e0781f9c8f54d94d5e28bad1816c7a8c3a6799",
|
||||||
"sha256": "sha256-ynjGBDZ2f8w2zhRrd05PUKnLn2MtExcsRLrojgwDz6I="
|
"sha256": "sha256-xSmBTu77fwRPz2UL+lJ+60totpYGfLZMGmmUcvs1ZYc="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -11055,20 +11055,20 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "com/fasterxml/jackson/core/jackson-databind/2.18.2",
|
"path": "com/fasterxml/jackson/core/jackson-databind/2.18.0",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"jackson-databind-2.18.2.pom": {
|
"jackson-databind-2.18.0.pom": {
|
||||||
"sha1": "65295373e682120eba7894bb6632d6f8d17d5d6c",
|
"sha1": "3e52a2c42c3824afc2e696dad92f94dd6c1067fb",
|
||||||
"sha256": "sha256-STo9tkR7eo7Ls3JCNMbOZ31y20sE9roAjw6+rqe+Wp0="
|
"sha256": "sha256-+Mn0Od1EsdAkLWbmlB2pfFe6hONANu7peqHDr/vxugQ="
|
||||||
},
|
},
|
||||||
"jackson-databind-2.18.2.jar": {
|
"jackson-databind-2.18.0.jar": {
|
||||||
"sha1": "deef8697b92141fb6caf7aa86966cff4eec9b04f",
|
"sha1": "8dba1f789a75fc30b59303574fe2b269afa4d3bc",
|
||||||
"sha256": "sha256-SzZOaFDciRcvzx1N0muP9UiO2kT/RlfiLdJlID3Vqzw="
|
"sha256": "sha256-K/GSe38yJGg+0BV6HsOw7edRedo+WX14xXLVbtAPnzw="
|
||||||
},
|
},
|
||||||
"jackson-databind-2.18.2.module": {
|
"jackson-databind-2.18.0.module": {
|
||||||
"sha1": "8bc88e1ebdc91d61f75e1dabb3cdeaca74ad0032",
|
"sha1": "49c271f0ef5bb935ca797921904e7ebe138925e3",
|
||||||
"sha256": "sha256-jH2sL3J4GNiEeoKqTqxrAXTXnPBN+Q3iJGBy5t005wA="
|
"sha256": "sha256-LEnsfnQwbUh/lVkbqJiQRhnDKi4/0bWG+z5jIskaTmI="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -11100,12 +11100,12 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "com/fasterxml/jackson/jackson-base/2.18.2",
|
"path": "com/fasterxml/jackson/jackson-base/2.18.0",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"jackson-base-2.18.2.pom": {
|
"jackson-base-2.18.0.pom": {
|
||||||
"sha1": "08e5c4c7f519a42a74dac257c922a7adbb4dda1b",
|
"sha1": "d445ae58e3b3a15aa50a3e3707eaf46463b121e6",
|
||||||
"sha256": "sha256-71dLcvW0iUgET2g3a4dMiK4JoCncjgX2Shwwvftt4Uo="
|
"sha256": "sha256-EFZMv/uFf5BlqhG1hJqMMIw1NfD1PG9Muytvt7NQf5c="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -11122,12 +11122,12 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "com/fasterxml/jackson/jackson-bom/2.18.2",
|
"path": "com/fasterxml/jackson/jackson-bom/2.18.0",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"jackson-bom-2.18.2.pom": {
|
"jackson-bom-2.18.0.pom": {
|
||||||
"sha1": "b269a504e4c7d10af05db454c367fb03d6c434b6",
|
"sha1": "02fecc45cb9609006d979cb8f06f8a571957a0b8",
|
||||||
"sha256": "sha256-UkfNwwFyXT9n9+8EkDconVr3CdaXK89LFwluRUjSlWs="
|
"sha256": "sha256-ut3oZMpztsoE3p9+5J5knhpeivj4x8FoLHRr5eI0xYc="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -11144,12 +11144,12 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "com/fasterxml/jackson/jackson-parent/2.18.1",
|
"path": "com/fasterxml/jackson/jackson-parent/2.18",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"jackson-parent-2.18.1.pom": {
|
"jackson-parent-2.18.pom": {
|
||||||
"sha1": "fcd5c9c72aeebb63d13eb4330842fdb8ae4f9a1c",
|
"sha1": "3696eb746d84dafc7933ec26f13f4fb407530ab0",
|
||||||
"sha256": "sha256-0IIvrBoCJoRLitRFySDEmk9hkWnQmxAQp9/u0ZkQmYw="
|
"sha256": "sha256-Vp3ADWi05t993oVimeHANT+kC9rxI+DfVj7L7kFlhtk="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -11166,12 +11166,12 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "com/fasterxml/jackson/module/jackson-modules-base/2.18.2",
|
"path": "com/fasterxml/jackson/module/jackson-modules-base/2.18.0",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"jackson-modules-base-2.18.2.pom": {
|
"jackson-modules-base-2.18.0.pom": {
|
||||||
"sha1": "a38a7c307ae9250be61ea90b86dab2b3b504f847",
|
"sha1": "6c3a68a52acce7482ba68999bd9b06a076b4c0ce",
|
||||||
"sha256": "sha256-wVCoPSPNizMiqqSYmEh0J5vi3I1f4qN5B9P1arYOJpw="
|
"sha256": "sha256-vtjbLqeIGzWwOA9V+67R1Wv+P9o6AmB0Ww9dXqzteyk="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -11192,20 +11192,20 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.18.2",
|
"path": "com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.18.0",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"jackson-module-jaxb-annotations-2.18.2.pom": {
|
"jackson-module-jaxb-annotations-2.18.0.pom": {
|
||||||
"sha1": "36b8fbaf3577061bb92ecf23d6aa9d802558fdb4",
|
"sha1": "40eb69b3a20fb98faf66bee669b60e0fbda324ad",
|
||||||
"sha256": "sha256-T2FGzIFi5nDA1ERI8q1Iqf9WSeQHFmhM+gSua2Bm+fA="
|
"sha256": "sha256-rOb/zJ9+f89Atu3uRVB6FQJdI5N6PbBSxDNSeVdJQ9c="
|
||||||
},
|
},
|
||||||
"jackson-module-jaxb-annotations-2.18.2.jar": {
|
"jackson-module-jaxb-annotations-2.18.0.jar": {
|
||||||
"sha1": "048c96032e5a428739e28ff04973717c032df598",
|
"sha1": "62cc7b7517b752360fef4796e396363a2396d29c",
|
||||||
"sha256": "sha256-ZFyk3imYBHPxmubAjXws4OP9JzJE0xVbXao7yC+hPUE="
|
"sha256": "sha256-WStXNngYHG2Te1dJnDqGrON3knBrVoRFc3FcC7muw30="
|
||||||
},
|
},
|
||||||
"jackson-module-jaxb-annotations-2.18.2.module": {
|
"jackson-module-jaxb-annotations-2.18.0.module": {
|
||||||
"sha1": "2c300d407906f321a9e3d3ecc01cc56696ffc660",
|
"sha1": "7adb3648b6e45a0ce0afd75efca142268ca592a1",
|
||||||
"sha256": "sha256-wRlrUgwa7RJ88R3ka0l9gbxPNVquWqvIFwcwfX6x30U="
|
"sha256": "sha256-66HSqRlv9sC7h9CrfZ6Ta5i2y7eZH8DUShi2gtBDmns="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -12215,16 +12215,16 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "com/google/errorprone/error_prone_annotations/2.36.0",
|
"path": "com/google/errorprone/error_prone_annotations/2.35.1",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"error_prone_annotations-2.36.0.pom": {
|
"error_prone_annotations-2.35.1.pom": {
|
||||||
"sha1": "daf188a28315b31852ebd550f78f6b764972ee1f",
|
"sha1": "7b4b876b40f04941ede1e324f2af6261ad514a7b",
|
||||||
"sha256": "sha256-15z9N8hfdta3VMdQHuHchEe3smQsI4LXeCUhZr0zHpw="
|
"sha256": "sha256-un1clTzvrQU6AlOiJ46g1u+aiW4ZKgMnzHiO9EJBeBc="
|
||||||
},
|
},
|
||||||
"error_prone_annotations-2.36.0.jar": {
|
"error_prone_annotations-2.35.1.jar": {
|
||||||
"sha1": "227d4d4957ccc3dc5761bd897e3a0ee587e750a7",
|
"sha1": "c36f9e12192226278c2b163bf61990b131e59903",
|
||||||
"sha256": "sha256-d0QOJwsLyaJJkDxaB2w2pyLEiGyk9CZ18pA6HFPtYaU="
|
"sha256": "sha256-A7Y/7jjjqG/aMRr1oDV+ZO6kSQmqtSUe0XgRknBQj/U="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -12362,12 +12362,12 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "com/google/errorprone/error_prone_parent/2.36.0",
|
"path": "com/google/errorprone/error_prone_parent/2.35.1",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"error_prone_parent-2.36.0.pom": {
|
"error_prone_parent-2.35.1.pom": {
|
||||||
"sha1": "f280159378f00e9f428f10887e22f84ebb2c7e9f",
|
"sha1": "ec496cb2eecb573bac52f53e75e677d21b7d79dd",
|
||||||
"sha256": "sha256-Okz8imvtYetI6Wl5b8MeoNJwtj5nBZmUamGIOttwlNw="
|
"sha256": "sha256-vclIzC9eZtiTxFLrVEXgU1TS8PrejWxkUxDYJgEWu0k="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -12953,12 +12953,12 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "com/google/protobuf/protobuf-bom/4.29.0",
|
"path": "com/google/protobuf/protobuf-bom/4.29.0-RC2",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"protobuf-bom-4.29.0.pom": {
|
"protobuf-bom-4.29.0-RC2.pom": {
|
||||||
"sha1": "5542df7ac3708da8bf30756f4ee6d804d04b8c9b",
|
"sha1": "9a1d56ef3dcd903fe6188028b41a08cd95b7aed6",
|
||||||
"sha256": "sha256-3L/Apl6DmDAE0HFOmL8NIGBwEUVbYhk5cowAkmvIyZk="
|
"sha256": "sha256-+fpeoeIYK8Z1Ug+VW8oKTMXIqjvw0QlYTlSXaC7Z268="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -13204,16 +13204,16 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "com/google/protobuf/protobuf-java/4.29.0",
|
"path": "com/google/protobuf/protobuf-java/4.29.0-RC2",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"protobuf-java-4.29.0.pom": {
|
"protobuf-java-4.29.0-RC2.pom": {
|
||||||
"sha1": "27c4abe9c47f4aed31cf7acff86853a05f7e85f0",
|
"sha1": "6a3b8220cf0191d1cac58f518e8fe089105a6215",
|
||||||
"sha256": "sha256-7cHftEVG5yel+sU/CQUGv6aN2DB65vEHbv+tVy+S16Q="
|
"sha256": "sha256-laBUKUQ7qipRaJ2LniTI0JIqMOTbBMbK2MPX5F6+G9A="
|
||||||
},
|
},
|
||||||
"protobuf-java-4.29.0.jar": {
|
"protobuf-java-4.29.0-RC2.jar": {
|
||||||
"sha1": "ffea90ab158435d68de76951857ef5f8b0f98365",
|
"sha1": "2c26bef798eaf3604cae2487cc7f98fbc30b34b2",
|
||||||
"sha256": "sha256-FpAYUevl6J/oiqrTwmhmNzaVvC4wYnu4kyhH4vX8LnY="
|
"sha256": "sha256-7UEwvtFLpLMrQFVkcnZC1J3sqc14fsugWtO2/2377YQ="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -13333,12 +13333,12 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "com/google/protobuf/protobuf-parent/4.29.0",
|
"path": "com/google/protobuf/protobuf-parent/4.29.0-RC2",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"protobuf-parent-4.29.0.pom": {
|
"protobuf-parent-4.29.0-RC2.pom": {
|
||||||
"sha1": "c35e0844930aea715cc8f4335fee49223b1fe35c",
|
"sha1": "87f14265eeeddd4c78ccaed313fe4125e7681442",
|
||||||
"sha256": "sha256-jU6O2nh45revZuPCtvWHE839P7bNsHGS3My2HN0uSTA="
|
"sha256": "sha256-awus769PZSQsjKRKvb1PZe3Z0XoiZ1PetQE3m7dICzU="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -15259,16 +15259,16 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "io/netty/netty-tcnative-classes/2.0.69.Final",
|
"path": "io/netty/netty-tcnative-classes/2.0.66.Final",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"netty-tcnative-classes-2.0.69.Final.pom": {
|
"netty-tcnative-classes-2.0.66.Final.pom": {
|
||||||
"sha1": "ee65d639d3c5312a4b6369f0d59504ad0c8dfe0b",
|
"sha1": "75dca372aa373fac57023721582360f84c79e44c",
|
||||||
"sha256": "sha256-WdoPlJ4r7on1cR6z4Mb9jPeRTmtwwAfza56waIJDAVw="
|
"sha256": "sha256-SULNAuKRbB+094zKiEHw9yGbuQ+CirdImokCfC76kes="
|
||||||
},
|
},
|
||||||
"netty-tcnative-classes-2.0.69.Final.jar": {
|
"netty-tcnative-classes-2.0.66.Final.jar": {
|
||||||
"sha1": "0f018f36b688bafabe4573af230a8b59cf3c0713",
|
"sha1": "9588bd2f891157538a78d86c945aa34bf9308dda",
|
||||||
"sha256": "sha256-C7woSMsJnrP29Ow2UBs2AOGChFfNpB1TMGh/YB7gS+8="
|
"sha256": "sha256-ZpqBGhk9wefJ74bLVHpKuS8PNMzo+bhCuQKb9c+gfMU="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -15285,12 +15285,12 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "io/netty/netty-tcnative-parent/2.0.69.Final",
|
"path": "io/netty/netty-tcnative-parent/2.0.66.Final",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"netty-tcnative-parent-2.0.69.Final.pom": {
|
"netty-tcnative-parent-2.0.66.Final.pom": {
|
||||||
"sha1": "ba3c1cc69d48f0196ee84ecd3c5157c52a987931",
|
"sha1": "91784588e56a54734c698f08118b4f3b94a58ec1",
|
||||||
"sha256": "sha256-KVMCcZZjdhDIlPMr2nBQk82HaDFcnxpXOVGnXxeGmvw="
|
"sha256": "sha256-KwF/s8He6rXR6uvsE0ZZt96ueMFNXr/D1JwLMITqc2U="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -15804,6 +15804,17 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"path": "net/bytebuddy/byte-buddy-parent/1.14.18",
|
||||||
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
|
"files": {
|
||||||
|
"byte-buddy-parent-1.14.18.pom": {
|
||||||
|
"sha1": "6b0b1f08e2d2d8166176c80fd22ee3198a26a3cf",
|
||||||
|
"sha256": "sha256-dpxdCxEV5z9oRSu6qjVrrZtzfV/ge4PUyeSDl1uB/jw="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "net/bytebuddy/byte-buddy-parent/1.15.4",
|
"path": "net/bytebuddy/byte-buddy-parent/1.15.4",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
@@ -15815,17 +15826,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
|
||||||
"path": "net/bytebuddy/byte-buddy-parent/1.15.10",
|
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
|
||||||
"files": {
|
|
||||||
"byte-buddy-parent-1.15.10.pom": {
|
|
||||||
"sha1": "6f8c0f39f52c09fbf4df945ff563f5fd81130724",
|
|
||||||
"sha256": "sha256-ZX1HwTcRTN8u0plv73gJYTgX3v9k2L4TI/QJiaO6BG4="
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "net/bytebuddy/byte-buddy/1.11.13",
|
"path": "net/bytebuddy/byte-buddy/1.11.13",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
@@ -15856,6 +15856,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"path": "net/bytebuddy/byte-buddy/1.14.18",
|
||||||
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
|
"files": {
|
||||||
|
"byte-buddy-1.14.18.pom": {
|
||||||
|
"sha1": "5f889814c247762909c7007bdf5ef72f2e7cea7a",
|
||||||
|
"sha256": "sha256-IvsZB4/nBkirYFSSZscUaZaEciaqbm9+iP7MCBRySTk="
|
||||||
|
},
|
||||||
|
"byte-buddy-1.14.18.jar": {
|
||||||
|
"sha1": "0081e9b9a20944626e6757b5950676af901c2485",
|
||||||
|
"sha256": "sha256-UhF68WlqU6p3wTE1MHStolzL3y31EfKvM/rWcE+pUQQ="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "net/bytebuddy/byte-buddy/1.15.4",
|
"path": "net/bytebuddy/byte-buddy/1.15.4",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
@@ -15871,21 +15886,6 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
|
||||||
"path": "net/bytebuddy/byte-buddy/1.15.10",
|
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
|
||||||
"files": {
|
|
||||||
"byte-buddy-1.15.10.pom": {
|
|
||||||
"sha1": "c968dc18f092176badbc9bd389ce53cbb6f13aa5",
|
|
||||||
"sha256": "sha256-BCz/E2+5FPl2I7oremhdmEuGnb+1tFIdx8kiejJZznA="
|
|
||||||
},
|
|
||||||
"byte-buddy-1.15.10.jar": {
|
|
||||||
"sha1": "635c873fadd853c084f84fdc3cbd58c5dd8537f9",
|
|
||||||
"sha256": "sha256-2DkNIGhaQaK9ymQPlYlCzZG8vyHEJHBJS99XUtmgexQ="
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "net/java/dev/jna/jna-platform/5.6.0",
|
"path": "net/java/dev/jna/jna-platform/5.6.0",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
@@ -16726,12 +16726,12 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "org/apache/commons/commons-parent/78",
|
"path": "org/apache/commons/commons-parent/74",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"commons-parent-78.pom": {
|
"commons-parent-74.pom": {
|
||||||
"sha1": "c59670d5fff6efd8b31013cb579732c75a250b4c",
|
"sha1": "704abf062c1f6e03f8bcf6929b4777b9af5048a5",
|
||||||
"sha256": "sha256-Ai0gLmVe3QTyoQ7L5FPZKXeSTTg4Ckyow1nxgXqAMg4="
|
"sha256": "sha256-gOthsMh/3YJqBpMTsotnLaPxiFgy2kR7Uebophl+fss="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -17471,20 +17471,20 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "org/checkerframework/checker-qual/3.48.2",
|
"path": "org/checkerframework/checker-qual/3.48.1",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"checker-qual-3.48.2.pom": {
|
"checker-qual-3.48.1.pom": {
|
||||||
"sha1": "95acb8356a028eeb22171b7330f7bb78cf0f9506",
|
"sha1": "b6dca63179b1aedebea4b5eb877342e3f6ff8916",
|
||||||
"sha256": "sha256-Sk+LlzEYgyx4SrUIpzAJ2tAt5Nq/0dFJLWa45MC6HRE="
|
"sha256": "sha256-4vslCCqCrdKE9gwb/yXZMBzX6bJhOIEs3tGEXutCJ8k="
|
||||||
},
|
},
|
||||||
"checker-qual-3.48.2.jar": {
|
"checker-qual-3.48.1.jar": {
|
||||||
"sha1": "2a4797df796b23026b8215545b0d2936bacc52af",
|
"sha1": "7d8cf1c00aec0042df92f8d71d7f15baaf9773f4",
|
||||||
"sha256": "sha256-ryPyDJlbL+3jWx66gRd6mmaUTsZ7jk3uGapMwLcQxrU="
|
"sha256": "sha256-Iejf6BA+El2WoyllPKgeh6xDAybb2/KZzqPcGuPwOaI="
|
||||||
},
|
},
|
||||||
"checker-qual-3.48.2.module": {
|
"checker-qual-3.48.1.module": {
|
||||||
"sha1": "cdf30d8d4b97e12fc85e65e1bd55210a1a084b10",
|
"sha1": "f1e778df44d6ca615e580cf2bf3c0ad7ad898d6e",
|
||||||
"sha256": "sha256-D2RjlMmz5KL1aitsZ6C0NAkqxrq3pJvC/wGtjKf08NU="
|
"sha256": "sha256-2By/MdXdg8qGleCloaRz6TS5mq3GpN2UnvT1ll8lYAM="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -17820,27 +17820,27 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "org/easymock/easymock-parent/5.5.0",
|
"path": "org/easymock/easymock-parent/5.4.0",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"easymock-parent-5.5.0.pom": {
|
"easymock-parent-5.4.0.pom": {
|
||||||
"sha1": "a30937cb15aa72370d3841ca217dd04cd24d506c",
|
"sha1": "ac49fe5a7d9cfec46d7386f713c5cd5c5afed89f",
|
||||||
"sha256": "sha256-e7FiABT3ApRLbKcywPIh6jLHwyfQ9fM6zuGf/gtAJ6A="
|
"sha256": "sha256-sKGUgoX4OZNIqWxgWTXYJVCnVKTDNfw0SfogL74qAnI="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "org/easymock/easymock/5.5.0",
|
"path": "org/easymock/easymock/5.4.0",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"easymock-5.5.0.pom": {
|
"easymock-5.4.0.pom": {
|
||||||
"sha1": "a711c875746fa00d8c929824b0f99ed7f103ac75",
|
"sha1": "d566a45d12ee304ab0fba3877ebd93ef64469ea8",
|
||||||
"sha256": "sha256-0TuotyX47NbHANkl9v78MwXLkIGtzLN97cUxr9HzfQY="
|
"sha256": "sha256-v/kNdi/BrWVB5jCrgeBzJPVflbd5BhE6NKpnqn2HPhk="
|
||||||
},
|
},
|
||||||
"easymock-5.5.0.jar": {
|
"easymock-5.4.0.jar": {
|
||||||
"sha1": "b07e2bcbc7b6bcae190a18b9ced742b6fd9ceec3",
|
"sha1": "eb56bad81c203765f4a5c74aed28142fb0d79354",
|
||||||
"sha256": "sha256-vwW1axAr6Rx80LutFoTVgJrCzNA4DmhPlEW/3hRBj38="
|
"sha256": "sha256-SDUEf+QbVDSRB8EaGEuhIvo8P8cIQHU0ZfdCtJ5+A6M="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -19901,16 +19901,16 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "org/jetbrains/kotlin/kotlin-reflect/2.1.0",
|
"path": "org/jetbrains/kotlin/kotlin-reflect/2.1.0-Beta2",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"kotlin-reflect-2.1.0.pom": {
|
"kotlin-reflect-2.1.0-Beta2.pom": {
|
||||||
"sha1": "6c72cb76dbf12249eec091d5a7d6ea27a27fcc87",
|
"sha1": "3e7baa22fcb4cc619f4bd40486276a93f3f2a0c3",
|
||||||
"sha256": "sha256-nNhLPU9xfJYjXkujtydolcz/1V3kEcfOCz97q1Yu/kI="
|
"sha256": "sha256-Mh8VtvMp1G9QUK5EgUhLQ0nCEefVB7U0spO9fTwzNkg="
|
||||||
},
|
},
|
||||||
"kotlin-reflect-2.1.0.jar": {
|
"kotlin-reflect-2.1.0-Beta2.jar": {
|
||||||
"sha1": "dc3753b59b67d79b7d2f546d51e22a0ec1f082d8",
|
"sha1": "d776709bc948b0d4d1f06d0da76c3754d80d6f50",
|
||||||
"sha256": "sha256-tfYI7fqYqM+iNyzBLRitqXS+HFbBCT7/BswGH0/AiLI="
|
"sha256": "sha256-gBuxZsoD8bj+VXCQtpxdW3CeUiyFTSnSWyTW0JLqjRo="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -21579,24 +21579,24 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "org/jetbrains/kotlin/kotlin-stdlib/2.1.0",
|
"path": "org/jetbrains/kotlin/kotlin-stdlib/2.1.0-Beta2",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
"files": {
|
"files": {
|
||||||
"kotlin-stdlib-2.1.0.pom": {
|
"kotlin-stdlib-2.1.0-Beta2.pom": {
|
||||||
"sha1": "b7c581edbfc43221bf7a18ea76cc482111bba949",
|
"sha1": "9bf48efa052a62e8f741b1da18105848536e0b98",
|
||||||
"sha256": "sha256-E05IwXeWwcECfsvmyfHHXHkvU1mHq4nh4d2kP4w2b14="
|
"sha256": "sha256-yK+DAGdGa23mj4Gpm5qTnpn65U2VBdfG8eXQKG9Ckuw="
|
||||||
},
|
},
|
||||||
"kotlin-stdlib-2.1.0-all.jar": {
|
"kotlin-stdlib-2.1.0-Beta2-all.jar": {
|
||||||
"sha1": "37a691f3c171dc54afc64aedcd63da3440df12d3",
|
"sha1": "37a691f3c171dc54afc64aedcd63da3440df12d3",
|
||||||
"sha256": "sha256-p0EvZtcbzSchw5gweXL7tflAn5RWQ+7gXRCAsomjOcs="
|
"sha256": "sha256-p0EvZtcbzSchw5gweXL7tflAn5RWQ+7gXRCAsomjOcs="
|
||||||
},
|
},
|
||||||
"kotlin-stdlib-2.1.0.jar": {
|
"kotlin-stdlib-2.1.0-Beta2.jar": {
|
||||||
"sha1": "85f8b81009cda5890e54ba67d64b5e599c645020",
|
"sha1": "9b6eab04a97dfca8f091764bc5bc89604afc7b01",
|
||||||
"sha256": "sha256-1vkbew8wbMopn+x0+3w05IdNb17FuSWgtN4hkB4RnD8="
|
"sha256": "sha256-a+9Pxnj5YEdA0GUcZbg0Rw2GM8nxKfMZzNWstMvztLs="
|
||||||
},
|
},
|
||||||
"kotlin-stdlib-2.1.0.module": {
|
"kotlin-stdlib-2.1.0-Beta2.module": {
|
||||||
"sha1": "10243b69a055e7a0aac5eff98c9509f34b4b5d1e",
|
"sha1": "fc5281ea91c36234d3aa0de8e0c70e0f8892a677",
|
||||||
"sha256": "sha256-3PvI6L8yzWen763ZHTEVK86YcJEdbsUIePT9tuA+cOI="
|
"sha256": "sha256-3yeZ0iUo792hyfKjSIBL692eYtrGQGxNURFP++ylC2w="
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -22698,6 +22698,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"path": "org/ow2/asm/asm/9.7",
|
||||||
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
|
"files": {
|
||||||
|
"asm-9.7.pom": {
|
||||||
|
"sha1": "e2568079bd69f0fdf35fe2d9e7cd9b16db8eff94",
|
||||||
|
"sha256": "sha256-3gARXx2E86Cy7jpLb2GS0Gb4bRhdZ7nRUi8sgP6sXwA="
|
||||||
|
},
|
||||||
|
"asm-9.7.jar": {
|
||||||
|
"sha1": "073d7b3086e14beb604ced229c302feff6449723",
|
||||||
|
"sha256": "sha256-rfRtXjSUC98Ujs3Sap7o7qlElqcgNP9xQQZrPupcTp0="
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
"path": "org/ow2/ow2/1.3",
|
"path": "org/ow2/ow2/1.3",
|
||||||
"repo": "https://repo.maven.apache.org/maven2",
|
"repo": "https://repo.maven.apache.org/maven2",
|
||||||
|
|||||||
@@ -559,8 +559,8 @@ com.github.bumptech.glide:glide:4.12.0
|
|||||||
com.github.bumptech.glide:okhttp3-integration:4.12.0
|
com.github.bumptech.glide:okhttp3-integration:4.12.0
|
||||||
com.github.clans:fab:1.6.4
|
com.github.clans:fab:1.6.4
|
||||||
com.github.gundy:semver4j:0.16.4
|
com.github.gundy:semver4j:0.16.4
|
||||||
com.github.status-im.status-keycard-java:android:3.1.2
|
com.github.status-im.status-keycard-java:android:3.1.1
|
||||||
com.github.status-im.status-keycard-java:lib:3.1.2
|
com.github.status-im.status-keycard-java:lib:3.1.1
|
||||||
com.github.status-im:function:0.0.1
|
com.github.status-im:function:0.0.1
|
||||||
com.github.wix-playground:ahbottomnavigation:3.3.0
|
com.github.wix-playground:ahbottomnavigation:3.3.0
|
||||||
com.github.wix-playground:reflow-animator:1.0.6
|
com.github.wix-playground:reflow-animator:1.0.6
|
||||||
|
|||||||
@@ -545,8 +545,8 @@ https://dl.google.com/dl/android/maven2/com/google/testing/platform/launcher/0.0
|
|||||||
https://dl.google.com/dl/android/maven2/com/google/test/platform/core-proto/0.0.2-dev/core-proto-0.0.2-dev.pom
|
https://dl.google.com/dl/android/maven2/com/google/test/platform/core-proto/0.0.2-dev/core-proto-0.0.2-dev.pom
|
||||||
https://jitpack.io/com/github/Dimezis/BlurView/version-2.0.4/BlurView-version-2.0.4.pom
|
https://jitpack.io/com/github/Dimezis/BlurView/version-2.0.4/BlurView-version-2.0.4.pom
|
||||||
https://jitpack.io/com/github/status-im/function/0.0.1/function-0.0.1.pom
|
https://jitpack.io/com/github/status-im/function/0.0.1/function-0.0.1.pom
|
||||||
https://jitpack.io/com/github/status-im/status-keycard-java/android/3.1.2/android-3.1.2.pom
|
https://jitpack.io/com/github/status-im/status-keycard-java/android/3.1.1/android-3.1.1.pom
|
||||||
https://jitpack.io/com/github/status-im/status-keycard-java/lib/3.1.2/lib-3.1.2.pom
|
https://jitpack.io/com/github/status-im/status-keycard-java/lib/3.1.1/lib-3.1.1.pom
|
||||||
https://jitpack.io/com/github/wix-playground/ahbottomnavigation/3.3.0/ahbottomnavigation-3.3.0.pom
|
https://jitpack.io/com/github/wix-playground/ahbottomnavigation/3.3.0/ahbottomnavigation-3.3.0.pom
|
||||||
https://jitpack.io/com/github/wix-playground/reflow-animator/1.0.6/reflow-animator-1.0.6.pom
|
https://jitpack.io/com/github/wix-playground/reflow-animator/1.0.6/reflow-animator-1.0.6.pom
|
||||||
https://jitpack.io/com/github/yalantis/ucrop/2.2.6-native/ucrop-2.2.6-native.pom
|
https://jitpack.io/com/github/yalantis/ucrop/2.2.6-native/ucrop-2.2.6-native.pom
|
||||||
@@ -564,7 +564,7 @@ https://repo.maven.apache.org/maven2/commons-codec/commons-codec/1.10/commons-co
|
|||||||
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.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.17.1/commons-codec-1.17.1.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.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-io/commons-io/2.17.0/commons-io-2.17.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.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.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.4/commons-logging-1.3.4.pom
|
||||||
@@ -667,22 +667,22 @@ https://repo.maven.apache.org/maven2/com/facebook/soloader/soloader/0.10.1/soloa
|
|||||||
https://repo.maven.apache.org/maven2/com/facebook/soloader/soloader/0.10.5/soloader-0.10.5.pom
|
https://repo.maven.apache.org/maven2/com/facebook/soloader/soloader/0.10.5/soloader-0.10.5.pom
|
||||||
https://repo.maven.apache.org/maven2/com/facebook/yoga/proguard-annotations/1.19.0/proguard-annotations-1.19.0.pom
|
https://repo.maven.apache.org/maven2/com/facebook/yoga/proguard-annotations/1.19.0/proguard-annotations-1.19.0.pom
|
||||||
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.11.1/jackson-annotations-2.11.1.pom
|
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.11.1/jackson-annotations-2.11.1.pom
|
||||||
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.18.2/jackson-annotations-2.18.2.pom
|
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.18.0/jackson-annotations-2.18.0.pom
|
||||||
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.11.1/jackson-core-2.11.1.pom
|
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.11.1/jackson-core-2.11.1.pom
|
||||||
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.18.2/jackson-core-2.18.2.pom
|
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-core/2.18.0/jackson-core-2.18.0.pom
|
||||||
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.11.1/jackson-databind-2.11.1.pom
|
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.11.1/jackson-databind-2.11.1.pom
|
||||||
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.18.2/jackson-databind-2.18.2.pom
|
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.18.0/jackson-databind-2.18.0.pom
|
||||||
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-xml/2.11.1/jackson-dataformat-xml-2.11.1.pom
|
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/dataformat/jackson-dataformat-xml/2.11.1/jackson-dataformat-xml-2.11.1.pom
|
||||||
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-base/2.11.1/jackson-base-2.11.1.pom
|
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-base/2.11.1/jackson-base-2.11.1.pom
|
||||||
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-base/2.18.2/jackson-base-2.18.2.pom
|
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-base/2.18.0/jackson-base-2.18.0.pom
|
||||||
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-bom/2.11.1/jackson-bom-2.11.1.pom
|
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-bom/2.11.1/jackson-bom-2.11.1.pom
|
||||||
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-bom/2.18.2/jackson-bom-2.18.2.pom
|
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-bom/2.18.0/jackson-bom-2.18.0.pom
|
||||||
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-parent/2.11/jackson-parent-2.11.pom
|
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-parent/2.11/jackson-parent-2.11.pom
|
||||||
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-parent/2.18.1/jackson-parent-2.18.1.pom
|
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/jackson-parent/2.18/jackson-parent-2.18.pom
|
||||||
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-modules-base/2.11.1/jackson-modules-base-2.11.1.pom
|
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-modules-base/2.11.1/jackson-modules-base-2.11.1.pom
|
||||||
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-modules-base/2.18.2/jackson-modules-base-2.18.2.pom
|
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-modules-base/2.18.0/jackson-modules-base-2.18.0.pom
|
||||||
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.11.1/jackson-module-jaxb-annotations-2.11.1.pom
|
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.11.1/jackson-module-jaxb-annotations-2.11.1.pom
|
||||||
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.18.2/jackson-module-jaxb-annotations-2.18.2.pom
|
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.18.0/jackson-module-jaxb-annotations-2.18.0.pom
|
||||||
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-module-kotlin/2.11.1/jackson-module-kotlin-2.11.1.pom
|
https://repo.maven.apache.org/maven2/com/fasterxml/jackson/module/jackson-module-kotlin/2.11.1/jackson-module-kotlin-2.11.1.pom
|
||||||
https://repo.maven.apache.org/maven2/com/fasterxml/oss-parent/38/oss-parent-38.pom
|
https://repo.maven.apache.org/maven2/com/fasterxml/oss-parent/38/oss-parent-38.pom
|
||||||
https://repo.maven.apache.org/maven2/com/fasterxml/oss-parent/61/oss-parent-61.pom
|
https://repo.maven.apache.org/maven2/com/fasterxml/oss-parent/61/oss-parent-61.pom
|
||||||
@@ -751,7 +751,7 @@ 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.10.0/error_prone_annotations-2.10.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.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.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_annotations/2.35.1/error_prone_annotations-2.35.1.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.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
|
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.2.0/error_prone_parent-2.2.0.pom
|
||||||
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.3.1/error_prone_parent-2.3.1.pom
|
https://repo.maven.apache.org/maven2/com/google/errorprone/error_prone_parent/2.3.1/error_prone_parent-2.3.1.pom
|
||||||
@@ -764,7 +764,7 @@ 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.10.0/error_prone_parent-2.10.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.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.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/errorprone/error_prone_parent/2.35.1/error_prone_parent-2.35.1.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/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
|
https://repo.maven.apache.org/maven2/com/google/google/1/google-1.pom
|
||||||
https://repo.maven.apache.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.pom
|
https://repo.maven.apache.org/maven2/com/google/guava/failureaccess/1.0.1/failureaccess-1.0.1.pom
|
||||||
@@ -809,7 +809,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.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.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/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.29.0-RC2/protobuf-bom-4.29.0-RC2.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.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-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
|
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-java-util/3.4.0/protobuf-java-util-3.4.0.pom
|
||||||
@@ -826,7 +826,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.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.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/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.29.0-RC2/protobuf-java-4.29.0-RC2.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-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.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
|
https://repo.maven.apache.org/maven2/com/google/protobuf/protobuf-parent/3.4.0/protobuf-parent-3.4.0.pom
|
||||||
@@ -837,7 +837,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.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.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/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.29.0-RC2/protobuf-parent-4.29.0-RC2.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-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/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
|
https://repo.maven.apache.org/maven2/com/google/zxing/core/3.4.1/core-3.4.1.pom
|
||||||
@@ -971,9 +971,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/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-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.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.66.Final/netty-tcnative-classes-2.0.66.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.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.66.Final/netty-tcnative-parent-2.0.66.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.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.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
|
https://repo.maven.apache.org/maven2/io/netty/netty-transport/4.1.72.Final/netty-transport-4.1.72.Final.pom
|
||||||
@@ -1009,12 +1009,12 @@ https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-agent/1.11.19/byte
|
|||||||
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.4/byte-buddy-agent-1.15.4.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.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.11.19/byte-buddy-parent-1.11.19.pom
|
||||||
|
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy-parent/1.14.18/byte-buddy-parent-1.14.18.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.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/1.11.13/byte-buddy-1.11.13.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.11.19/byte-buddy-1.11.19.pom
|
||||||
|
https://repo.maven.apache.org/maven2/net/bytebuddy/byte-buddy/1.14.18/byte-buddy-1.14.18.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.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/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-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/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
|
https://repo.maven.apache.org/maven2/net/java/jvnet-parent/1/jvnet-parent-1.pom
|
||||||
@@ -1080,7 +1080,7 @@ https://repo.maven.apache.org/maven2/org/apache/commons/commons-parent/48/common
|
|||||||
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/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/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/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/74/commons-parent-74.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.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.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
|
https://repo.maven.apache.org/maven2/org/apache/httpcomponents/httpclient/4.5.2/httpclient-4.5.2.pom
|
||||||
@@ -1135,7 +1135,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/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.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.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.48.1/checker-qual-3.48.1.pom
|
||||||
https://repo.maven.apache.org/maven2/org/codehaus/codehaus-parent/4/codehaus-parent-4.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.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
|
https://repo.maven.apache.org/maven2/org/codehaus/groovy/groovy-xml/3.0.10/groovy-xml-3.0.10.pom
|
||||||
@@ -1158,8 +1158,8 @@ https://repo.maven.apache.org/maven2/org/codehaus/mojo/mojo-parent/84/mojo-paren
|
|||||||
https://repo.maven.apache.org/maven2/org/codehaus/woodstox/stax2-api/4.2.1/stax2-api-4.2.1.pom
|
https://repo.maven.apache.org/maven2/org/codehaus/woodstox/stax2-api/4.2.1/stax2-api-4.2.1.pom
|
||||||
https://repo.maven.apache.org/maven2/org/easymock/easymockclassextension/3.2/easymockclassextension-3.2.pom
|
https://repo.maven.apache.org/maven2/org/easymock/easymockclassextension/3.2/easymockclassextension-3.2.pom
|
||||||
https://repo.maven.apache.org/maven2/org/easymock/easymock-parent/3.2/easymock-parent-3.2.pom
|
https://repo.maven.apache.org/maven2/org/easymock/easymock-parent/3.2/easymock-parent-3.2.pom
|
||||||
https://repo.maven.apache.org/maven2/org/easymock/easymock-parent/5.5.0/easymock-parent-5.5.0.pom
|
https://repo.maven.apache.org/maven2/org/easymock/easymock-parent/5.4.0/easymock-parent-5.4.0.pom
|
||||||
https://repo.maven.apache.org/maven2/org/easymock/easymock/5.5.0/easymock-5.5.0.pom
|
https://repo.maven.apache.org/maven2/org/easymock/easymock/5.4.0/easymock-5.4.0.pom
|
||||||
https://repo.maven.apache.org/maven2/org/eclipse/angus/angus-activation-project/2.0.2/angus-activation-project-2.0.2.pom
|
https://repo.maven.apache.org/maven2/org/eclipse/angus/angus-activation-project/2.0.2/angus-activation-project-2.0.2.pom
|
||||||
https://repo.maven.apache.org/maven2/org/eclipse/angus/angus-activation/2.0.2/angus-activation-2.0.2.pom
|
https://repo.maven.apache.org/maven2/org/eclipse/angus/angus-activation/2.0.2/angus-activation-2.0.2.pom
|
||||||
https://repo.maven.apache.org/maven2/org/eclipse/ee4j/project/1.0.2/project-1.0.2.pom
|
https://repo.maven.apache.org/maven2/org/eclipse/ee4j/project/1.0.2/project-1.0.2.pom
|
||||||
@@ -1285,7 +1285,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.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.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/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.0-Beta2/kotlin-reflect-2.1.0-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.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.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
|
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-scripting-common/1.9.0/kotlin-scripting-common-1.9.0.pom
|
||||||
@@ -1395,7 +1395,7 @@ https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-stdlib/1.8.22/k
|
|||||||
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.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.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/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.0-Beta2/kotlin-stdlib-2.1.0-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.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-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
|
https://repo.maven.apache.org/maven2/org/jetbrains/kotlin/kotlin-tooling-metadata/1.6.20/kotlin-tooling-metadata-1.6.20.pom
|
||||||
@@ -1471,6 +1471,7 @@ https://repo.maven.apache.org/maven2/org/ow2/asm/asm/8.0.1/asm-8.0.1.pom
|
|||||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.1/asm-9.1.pom
|
https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.1/asm-9.1.pom
|
||||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.2/asm-9.2.pom
|
https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.2/asm-9.2.pom
|
||||||
https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.7.1/asm-9.7.1.pom
|
https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.7.1/asm-9.7.1.pom
|
||||||
|
https://repo.maven.apache.org/maven2/org/ow2/asm/asm/9.7/asm-9.7.pom
|
||||||
https://repo.maven.apache.org/maven2/org/ow2/ow2/1.3/ow2-1.3.pom
|
https://repo.maven.apache.org/maven2/org/ow2/ow2/1.3/ow2-1.3.pom
|
||||||
https://repo.maven.apache.org/maven2/org/ow2/ow2/1.5.1/ow2-1.5.1.pom
|
https://repo.maven.apache.org/maven2/org/ow2/ow2/1.5.1/ow2-1.5.1.pom
|
||||||
https://repo.maven.apache.org/maven2/org/ow2/ow2/1.5/ow2-1.5.pom
|
https://repo.maven.apache.org/maven2/org/ow2/ow2/1.5/ow2-1.5.pom
|
||||||
|
|||||||
@@ -66,7 +66,7 @@
|
|||||||
"react-native-shake": "^3.3.1",
|
"react-native-shake": "^3.3.1",
|
||||||
"react-native-share": "10.0.2",
|
"react-native-share": "10.0.2",
|
||||||
"react-native-static-safe-area-insets": "^2.2.0",
|
"react-native-static-safe-area-insets": "^2.2.0",
|
||||||
"react-native-status-keycard": "git+https://github.com/status-im/react-native-status-keycard.git#refs/tags/v2.6.3",
|
"react-native-status-keycard": "git+https://github.com/status-im/react-native-status-keycard.git#refs/tags/v2.5.39",
|
||||||
"react-native-svg": "13.10.0",
|
"react-native-svg": "13.10.0",
|
||||||
"react-native-webview": "13.6.3",
|
"react-native-webview": "13.6.3",
|
||||||
"react-syntax-highlighter": "^15.5.0"
|
"react-syntax-highlighter": "^15.5.0"
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 184 KiB |
|
Before Width: | Height: | Size: 345 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 3.5 KiB |
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 1.4 MiB |
|
After Width: | Height: | Size: 2.8 MiB |
|
Before Width: | Height: | Size: 227 KiB |
|
Before Width: | Height: | Size: 434 KiB |
|
Before Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 162 KiB |
|
Before Width: | Height: | Size: 306 KiB |
|
Before Width: | Height: | Size: 148 KiB |
|
Before Width: | Height: | Size: 282 KiB |
|
Before Width: | Height: | Size: 542 KiB |
|
Before Width: | Height: | Size: 1.0 MiB |
@@ -1,10 +1,9 @@
|
|||||||
Status Terms of Use
|
Status Terms of Use
|
||||||
|
|
||||||
Last updated: 10 December 2024
|
Last updated: 14 August 2024
|
||||||
|
|
||||||
1. Introduction
|
1. Introduction
|
||||||
|
|
||||||
|
|
||||||
1.1 Who we are
|
1.1 Who we are
|
||||||
|
|
||||||
Status is developing a set of open source projects that use peer-to-peer technologies to help people transact securely, communicate freely, and organise with confidence. Anyone participating in these projects helps to build technology and tools that empowers people to advance their own sovereign communities.
|
Status is developing a set of open source projects that use peer-to-peer technologies to help people transact securely, communicate freely, and organise with confidence. Anyone participating in these projects helps to build technology and tools that empowers people to advance their own sovereign communities.
|
||||||
@@ -15,7 +14,7 @@ Status does not provide any services, such as financial services, to users of St
|
|||||||
|
|
||||||
1.2 About these terms
|
1.2 About these terms
|
||||||
|
|
||||||
These terms are a contract between you and Status and apply to your use of Status Software. The term “Status Software” as used herein means a software developed by Status and is composed of a secure messaging tool and a crypto wallet integrated together.
|
These terms are a contract between you and Status and apply to your use of Status Software. The term “Status Software” as used herein means a software developed by Status and is composed of a secure messaging tool, a crypto wallet, and a Web 3 browser integrated together.
|
||||||
|
|
||||||
Please read these terms carefully before using Status Software. By installing or using Status Software on any device, you agree to these terms. If you do not agree, you should not install or use Status Software.
|
Please read these terms carefully before using Status Software. By installing or using Status Software on any device, you agree to these terms. If you do not agree, you should not install or use Status Software.
|
||||||
|
|
||||||
@@ -49,56 +48,57 @@ If a dispute arises between you and Status, we will seek to first solve it amica
|
|||||||
|
|
||||||
At Status, we strive to develop open source software that can serve as a secure communication tool that helps to uphold human rights. Status Software is specifically designed to facilitate the free flow of information, protect the right to private, secure communications and promote the sovereignty of individuals.
|
At Status, we strive to develop open source software that can serve as a secure communication tool that helps to uphold human rights. Status Software is specifically designed to facilitate the free flow of information, protect the right to private, secure communications and promote the sovereignty of individuals.
|
||||||
|
|
||||||
Status Software is composed of a secure messaging tool and a crypto wallet integrated together. The software developed by Status in this regard is simply called “Status Software” and you can find more details about its development on Status’ GitHub page.
|
Status Software is composed of a secure messaging tool, a crypto wallet, and a Web 3 browser integrated together. The software developed by Status in this regard is simply called “Status Software” and you can find more details about its development on Status’ GitHub page.
|
||||||
|
|
||||||
Status Software is open source client software that is designed to be user-friendly and can be installed or run in a web browser on your local desktop or mobile device. You can use Status Software to interact with and participate in Web 3 protocols, applications and peer to peer networks (referred to in these terms collectively, as “Web 3”). Please note that Status Software is not a blockchain protocol, or a blockchain network, a platform or a web-based platform.
|
Status Software is open source client software that is designed to be user-friendly and can be installed or run in a web browser on your local desktop or mobile device. You can use Status Software to interact with and participate in Web 3 protocols, applications and peer to peer networks (referred to in these terms collectively, as “Web 3”). Please note that Status Software is not a blockchain protocol, or a blockchain network, a platform or a web-based platform.
|
||||||
|
|
||||||
Status develops Status Software and makes it available for you to run in a web browser or for your local use on your desktop or mobile device. This means that you are solely responsible for your activity and any potential risk or loss you may incur through using the Status Software as further detailed below in these terms.
|
Status develops Status Software and makes it available for you to run in a web browser or for your local use on your desktop or mobile device. This means that you are solely responsible for your activity and any potential risk or loss you may incur through using the Status Software as further detailed below in these terms.
|
||||||
|
|
||||||
As a result of the privacy-first design of Status Software:
|
|
||||||
|
|
||||||
1. Status does not store nor have access to user data, messages, or content;
|
|
||||||
2. Status cannot associate content or actions with individual users. However, users may choose to disclose certain limited information to Status voluntarily, such as when opting in to share usage analytics. This data, shared only through explicit consent of the user, is processed in accordance with our Privacy Policy;
|
|
||||||
3. Status cannot block or ban users from using Status Software features;
|
|
||||||
4. Status has no means of monitoring, moderating, removing, modifying or regulating users’ content or activity, except in Community Spaces created and directly managed by Status.
|
|
||||||
|
|
||||||
2.1.1 Wallet
|
2.1.1 Wallet
|
||||||
|
|
||||||
Status Software includes a crypto wallet. We will refer to such wallet functionality in these terms as “Wallet”.
|
Status Software includes a crypto wallet. We will refer to such wallet functionality in these terms as “Wallet”.
|
||||||
|
|
||||||
The Wallet is your own personal crypto wallet. This type of wallet is sometimes also called “non-custodial”, “self-custodial” or “self-hosted”, which means you are in complete control of the crypto tokens (the “Digital Assets”) in the Wallet. Status will never have access to or control over your seed phrase, private keys or Digital Assets in your Wallet given its design.
|
The Wallet is your own personal crypto wallet. This type of wallet is sometimes also called “non-custodial”, “self-custodial” or “self-hosted”, which means you are in complete control of the crypto tokens (the “Digital Assets”) in the Wallet. Status will never have access to or control over your seed phrase, private keys or Digital Assets in your Wallet given its design.
|
||||||
|
|
||||||
Using the Wallet, you are able to send, receive and store Digital Assets and connect to and interact with third-party services that enable the exchange of Digital Assets for fiat currency and Web 3, including certain blockchain bridges and decentralised exchanges.
|
|
||||||
|
|
||||||
The Wallet contains the latest security standards, anti-phishing mechanisms and locally generated and stored public and private keys to ensure that your Digital Assets are secured to the highest standards.
|
Using the Wallet, you are able to send, receive and store Digital Assets and connect to and interact with third-party services that enable the exchange of Digital Assets for fiat currency and Web 3, including certain blockchain bridges and decentralised exchanges.
|
||||||
|
|
||||||
When generating an account, a randomisation process is started on your own device that generates a key pair. Status does not have visibility of or access to your private keys. You are solely responsible for storing and securing your seed phrase and private keys, and creating, storing and securing their backups. If you fail to maintain the appropriate security measures of your private keys, it may result in you losing access to your Wallet and control of any Digital Assets in your Wallet. If you lose or forget your seed phrase or private keys, Status will not be able to help you recover or replace them and further, Status will not be able to assist you with the recovery of your Digital Assets.
|
The Wallet contains the latest security standards, anti-phishing mechanisms and locally generated and stored public and private keys to ensure that your Digital Assets are secured to the highest standards.
|
||||||
|
|
||||||
In order to further enhance the security of storing your private keys, you may also choose to store your keys on a keycard, such as the Status Keycard.
|
When generating an account, a randomisation process is started on your own device that generates a key pair. Status does not have visibility of or access to your private keys. You are solely responsible for storing and securing your seed phrase and private keys, and creating, storing and securing their backups. If you fail to maintain the appropriate security measures of your private keys, it may result in you losing access to your Wallet and control of any Digital Assets in your Wallet. If you lose or forget your seed phrase or private keys, Status will not be able to help you recover or replace them and further, Status will not be able to assist you with the recovery of your Digital Assets.
|
||||||
|
|
||||||
|
In order to further enhance the security of storing your private keys, you may also choose to store your keys on a keycard, such as the Status Keycard.
|
||||||
|
|
||||||
2.1.2 Messaging
|
2.1.2 Messaging
|
||||||
|
|
||||||
Status Software includes messaging functionality that enables secure communication between users. We will refer to the messaging functionality of Status Software and the Community Spaces collectively in these terms, as “Messaging”.
|
Status Software includes messaging functionality that enables secure communication between users. We will refer to the messaging functionality of Status Software and the Status Community Spaces collectively in these terms, as “Messaging”.
|
||||||
|
|
||||||
Messaging uses an open source, peer-to-peer protocol with end-to-end encryption and metadata suppression to protect your messages from third parties (including Status). End-to-end encryption means that only the sender and recipient of a message can read its contents, and no one else. Peer-to-peer communication is accomplished using the Waku peer-to-peer messaging protocol, which relies on a distributed network of nodes instead of a centralised server. This means that there is no central party or server from which messages can be intercepted, modified or blocked. Learn more about Waku and how it works on Waku’s relevant website.
|
Messaging uses an open source, peer-to-peer protocol with end-to-end encryption and metadata suppression to protect your messages from third parties (including Status). End-to-end encryption means that only the sender and recipient of a message can read its contents, and no one else. Peer-to-peer communication is accomplished using the Waku peer-to-peer messaging protocol, which relies on a distributed network of nodes instead of a centralised server. This means that there is no central party or server from which messages can be intercepted, modified or blocked. Learn more about Waku and how it works on Waku’s relevant website.
|
||||||
|
|
||||||
Within Messaging, you will also be able to participate in Community Spaces. This feature allows users to create and join communities with varying access and discoverability options, which may include token-gated communities, private communities and open and public communities, where you can create group chats and engage with your communities. We note that content in all Community Spaces will be accessible to the members of those spaces. For open and public communities, content will be accessible to all other users of Status Software. Nonetheless, all content, regardless of the type of community, will still be protected by the same end-to-end encryption utilised in Status Software.
|
Within Messaging, you will also be able to participate in Status Community Spaces. This feature allows users to create their own token-gated communities where you can create group chats and engage with your communities, while leveraging the possibilities, functionality and benefits of blockchain technology. You will also be able to create (and join) open and public communities on Status Software that are accessible to other users. We note that content in these open and public communities will be accessible to all other users of Status Software. Nonetheless, all content will still be protected by the same end-to-end encryption utilised in Status Software.
|
||||||
|
|
||||||
|
2.1.2 Web 3 browser
|
||||||
|
|
||||||
|
Status Software also includes a Web 3 browser through which you may access and interact with Web 3, exchanges, marketplaces, games and more. We will refer to the Web 3 browser in these terms as the “Web 3 Browser”.
|
||||||
|
|
||||||
|
|
||||||
3. Privacy
|
3. Privacy
|
||||||
|
|
||||||
Status processes a limited amount of user data to ensure the technical operation of the Status Software, enhance its functionality, and improve the user experience. For more details on this limited process of user data, please refer to our Privacy Policy.
|
Status uses an open source, peer-to-peer protocol with end-to-end encryption and metadata suppression, which by design, means that Status (and any third party) is unable to and does not collect, store, own, control or have any visibility or means of access to your identity, Wallet, browsing information, any user private keys, Digital Assets, messages, content, history of interactions, user accounts or any other user information.
|
||||||
|
|
||||||
|
Therefore, Status does not (and cannot) monetise any users’ data or content, such as messages or browser information and Status does not have any interest in doing so.
|
||||||
|
|
||||||
|
Status however processes a limited amount of user data to ensure the technical operation of the Status Software, enhance its functionality, and improve the user experience. For more details on this limited process of user data, please refer to our Privacy Policy.
|
||||||
|
|
||||||
If you use third party services offered through Status Software, your privacy may not be protected and you will be subject to the privacy terms and conditions of such third parties. Please refer to our full terms regarding third party services below.
|
If you use third party services offered through Status Software, your privacy may not be protected and you will be subject to the privacy terms and conditions of such third parties. Please refer to our full terms regarding third party services below.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
4. Using third party services and interacting with Web 3
|
4. Using third party services and interacting with Web 3
|
||||||
|
|
||||||
When using Status Software, you may access or use third party products, services or tools (“Third Party Services”) and interact with Web 3. Status Software is only one means of interacting with these Third Party Services and Web 3 and you can independently utilise other means and tools to do so as well.
|
When using Status Software, you may access or use third party products, services or tools (“Third Party Services”) and interact with Web 3. Status Software is only one means of interacting with these Third Party Services and Web 3 and you can independently utilise other means and tools to do so as well.
|
||||||
|
|
||||||
Your interactions with Web 3 could include many aspects, such as interacting with smart contracts that reside on blockchain networks, for example to swap Digital Assets or use (crypto) bridges, or deploying your own smart contracts through Community Spaces. You may also interact with and participate in peer-to-peer networks which could vary in their level of decentralisation, ranging from more centralised networks controlled by a single party to networks governed by decentralised communities.
|
Your interactions with Web 3 could include many aspects, such as interacting with smart contracts that reside on blockchain networks, for example to swap Digital Assets or use (crypto) bridges, or deploying your own smart contracts through Status Community Spaces. You may also interact with and participate in peer-to-peer networks which could vary in their level of decentralisation, ranging from more centralised networks controlled by a single party to networks governed by decentralised communities.
|
||||||
|
|
||||||
When you use Third Party Services or interact with Web 3, you acknowledge that Status does not control or operate any Third Party Service or Web 3. These products, services, or tools are either controlled, operated, owned, or licensed by the third party providing them, or they may operate autonomously, independently of Status or any other party.
|
When you use Third Party Services or interact with Web 3, you acknowledge that Status does not control or operate any Third Party Service or Web 3. These products, services, or tools are either controlled, operated, owned, or licensed by the third party providing them, or they may operate autonomously, independently of Status or any other party.
|
||||||
|
|
||||||
@@ -127,7 +127,7 @@ Although security is a top priority for us and many functions of Status Software
|
|||||||
|
|
||||||
7. Content
|
7. Content
|
||||||
|
|
||||||
At Status, we believe in the sovereignty of individuals and we stand for the cause of personal liberty. We aim to promote social, political, and economic freedoms through Status Software, which is built on the principles of the free flow of information and censorship resistance. Through Status Software, particularly when using Messenger and Community Spaces, you will be able to create and interact with various content. We consider content to include anything you (or any other user) create, post, distribute or exchange through Status Software (as well as any future functions that may be added to Status Software), whether its text, links, GIFs, emoji, photos or any other media formats.
|
At Status, we believe in the sovereignty of individuals and we stand for the cause of personal liberty. We aim to promote social, political, and economic freedoms through Status Software, which is built on the principles of the free flow of information and censorship resistance. Through Status Software, particularly when using Messenger and Status Community Spaces, you will be able to create and interact with various content. We consider content to include anything you (or any other user) create, post, distribute or exchange through Status Software (as well as any future functions that may be added to Status Software), whether its text, links, GIFs, emoji, photos or any other media formats.
|
||||||
|
|
||||||
You are solely responsible for any content that you create, post, distribute or submit, messages you exchange or any other activity you may engage in related to your content on or through Status Software and any harm or liability that may result from such content.
|
You are solely responsible for any content that you create, post, distribute or submit, messages you exchange or any other activity you may engage in related to your content on or through Status Software and any harm or liability that may result from such content.
|
||||||
|
|
||||||
@@ -145,35 +145,25 @@ You acknowledge that Status has no means of monitoring, moderating, removing, mo
|
|||||||
|
|
||||||
8.1 Adherence to Status Principles
|
8.1 Adherence to Status Principles
|
||||||
|
|
||||||
One of Status’ goals is the widespread adoption of the decentralised web while also staying true to our Principles. These terms are designed to reflect our Principles, while providing important legal protections for Status and setting out guidelines and terms for the Status Software community of users. We ask that you use Status Software in a way that promotes and aligns with the Status Principles, and avoid actions that may harm or disrupt the community of users.
|
One of Status’ goals is the widespread adoption of the decentralised web while also staying true to our Principles. These terms are designed to reflect our Principles, while providing important legal protections for Status and setting out guidelines and terms for the Status Software community of users. We ask that you use Status Software in a way that promotes and aligns with the Status Principles.
|
||||||
|
|
||||||
We strongly encourage users to act responsibly and ethically in their interactions and refrain from (i) inciting harm, violence or illegal activity, (ii) engaging in harassment, abuse or discrimination, and (iii) spreading false or misleading information.
|
8.2 Limitation on certain uses of and acts in Status Software
|
||||||
|
|
||||||
If you are a Community Space creator or admin, we encourage you to establish your own guidelines to foster healthy and respectful community environments for your members.
|
You shall not, nor try to, encourage or assist others using Status Software to:
|
||||||
|
1. gain or try to gain unauthorised access to Status Software;
|
||||||
8.2 Community Governance
|
2. interfere with or disrupt the integrity, safety, security, availability or performance of Status Software;
|
||||||
|
3. generate accounts on Status Software through unauthorised means;
|
||||||
Community Spaces are self-sovereign environments managed independently by their creators and appointed admins. These users are solely responsible for:
|
4. install or transmit on or through Status Software, any viruses, worms, malware, Trojan horses, or other harmful or destructive code or content;
|
||||||
|
5. use spam, data mining, or other unsolicited promotional methods, machine generated content, or unethical or unwanted commercial content;
|
||||||
1. establishing and enforcing their own community guidelines;
|
6. engage in phishing, spoofing, or similar fraudulent acts;
|
||||||
2. configuring access controls and permissions;
|
7. knowingly spread misinformation or impersonate another person or legal entity;
|
||||||
3. managing community membership, including accepting or rejecting requests;
|
8. incite, commit or threaten, harm or engage in illegal or inappropriate conduct including stalking, bullying, harassment, intimidation or abuse another individual or group;
|
||||||
4. moderating content and interactions within their community; and
|
9. engage in or organise child sexual exploitation of any kind;
|
||||||
5. taking actions against community members who violate their community guidelines or behave disruptively, including the ability to exclude or ban members.
|
10. use Status Software, if you are subject to sanctions, or otherwise designated on a list of prohibited or restricted parties as maintained by, the United Nations, the European Union or any of its member states or the Singaporean, Swiss or US government, or intend to interact or transact with such parties;
|
||||||
|
11. violate, misappropriate or infringe the rights of Status, other users of Status Software, or any other third parties in any way, including but not limited to privacy, publicity, intellectual property, confidentiality, property or other rights;
|
||||||
By participating in Community Spaces, you acknowledge that community governance lies solely with community creators and their appointed admins. Status cannot monitor, moderate or intervene in community interactions or governance decisions within any Community Space, except in cases where a Community Space is created and directly managed by Status.
|
12. engage in any activity through Status Software that may be in violation of applicable law, rules or regulations in your jurisdiction;
|
||||||
|
13. interfere, disrupt, negatively affect, or inhibit other users from their use of Status Software; or
|
||||||
8.3 Limitation on certain uses of and acts in Status Software
|
14. engage in any attack, hack, denial-of-service attack, interference, or exploit of any smart contract in connection with use of Status Software.
|
||||||
|
|
||||||
You agree not to use Status Software, or attempt or assist others to use it, in a manner that:
|
|
||||||
1. uses unauthorised methods to create or gain access to an account on Status Software;
|
|
||||||
2. interferes with or disrupts the integrity, safety, security, availability or performance of Status Software;
|
|
||||||
3. installs or transmits on or through Status Software, any viruses, worms, malware, Trojan horses, or other harmful or destructive code or content;
|
|
||||||
4. use Status Software, if you are subject to sanctions, or otherwise designated on a list of prohibited or restricted parties as maintained by, the United Nations, the European Union or any of its member states or the Singaporean, Swiss or US government, or intend to interact or transact with such parties;
|
|
||||||
5. violate, misappropriate or infringe the rights of Status, other users of Status Software, or any other third parties in any way, including but not limited to privacy, publicity, intellectual property, confidentiality, property or other rights;
|
|
||||||
6. engage in any activity through Status Software that may be in violation of applicable law, rules or regulations in your jurisdiction;
|
|
||||||
7. interfere, disrupt, negatively affect, or inhibit other users from their use of Status Software; or
|
|
||||||
8. engage in any attack, hack, denial-of-service attack, interference, or exploit of any smart contract in connection with use of Status Software.
|
|
||||||
|
|
||||||
|
|
||||||
9. Fees
|
9. Fees
|
||||||
@@ -262,7 +252,6 @@ You release Status from all liability related to any claim, cause of action, con
|
|||||||
14. Limitation of liability
|
14. Limitation of liability
|
||||||
|
|
||||||
Status will not be held liable to you under any contract, negligence, strict liability, or other legal or equitable theory for any lost profits, cost of procurement for substitute services, or any special, incidental, or consequential damages related to, arising from, or in any way connected with these terms, Status, your use of Status Software, particularly where Status has indicated that it is not responsible. This includes without limitation, your use of SNT or other Digital Assets (creating, distributing, transacting in or otherwise) even if Status has been advised of the possibility of such damages.
|
Status will not be held liable to you under any contract, negligence, strict liability, or other legal or equitable theory for any lost profits, cost of procurement for substitute services, or any special, incidental, or consequential damages related to, arising from, or in any way connected with these terms, Status, your use of Status Software, particularly where Status has indicated that it is not responsible. This includes without limitation, your use of SNT or other Digital Assets (creating, distributing, transacting in or otherwise) even if Status has been advised of the possibility of such damages.
|
||||||
|
|
||||||
In any event, Status’ aggregate liability for any claims is limited to EUR 100 (one hundred Euros). This limitation of liability will apply to the extent permitted by applicable law.
|
In any event, Status’ aggregate liability for any claims is limited to EUR 100 (one hundred Euros). This limitation of liability will apply to the extent permitted by applicable law.
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { useDerivedValue, withTiming, Easing } from 'react-native-reanimated';
|
import { useDerivedValue, withTiming, Easing } from 'react-native-reanimated';
|
||||||
|
|
||||||
const slideAnimationDuration = 300;
|
const slideAnimationDuration = 300;
|
||||||
const totalPages = 3;
|
const totalPages = 4;
|
||||||
const pageSize = 25;
|
const pageSize = 100 / totalPages;
|
||||||
|
|
||||||
const easeOut = {
|
const easeOut = {
|
||||||
duration: slideAnimationDuration,
|
duration: slideAnimationDuration,
|
||||||
@@ -13,7 +13,7 @@ const easeOut = {
|
|||||||
export function dynamicProgressBarWidth(staticProgressBarWidth, progress) {
|
export function dynamicProgressBarWidth(staticProgressBarWidth, progress) {
|
||||||
return useDerivedValue(function () {
|
return useDerivedValue(function () {
|
||||||
'worklet';
|
'worklet';
|
||||||
return (staticProgressBarWidth * (progress.value || 0)) / 75;
|
return (staticProgressBarWidth * (progress.value || 0)) / 100;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -26,6 +26,6 @@ export function carouselLeftPosition(windowWidth, progress, isDragging, dragAmou
|
|||||||
const baseOffset = (Math.floor(progressValue / pageSize) % totalPages) * windowWidth;
|
const baseOffset = (Math.floor(progressValue / pageSize) % totalPages) * windowWidth;
|
||||||
const adjustedOffset = baseOffset === 0 && dragAmountValue > 0 ? baseOffset : -baseOffset + dragAmountValue;
|
const adjustedOffset = baseOffset === 0 && dragAmountValue > 0 ? baseOffset : -baseOffset + dragAmountValue;
|
||||||
|
|
||||||
return isDragging.value ? adjustedOffset : withTiming(-baseOffset, easeOut);
|
return isDragging.value ? withTiming(adjustedOffset, easeOut) : withTiming(-baseOffset, easeOut);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,9 +2,7 @@
|
|||||||
(:require
|
(:require
|
||||||
["react-native" :as rn]
|
["react-native" :as rn]
|
||||||
["react-native-status-keycard" :default status-keycard]
|
["react-native-status-keycard" :default status-keycard]
|
||||||
[oops.core :as oops]
|
|
||||||
[react-native.platform :as platform]
|
[react-native.platform :as platform]
|
||||||
[schema.core :as schema]
|
|
||||||
[taoensso.timbre :as log]))
|
[taoensso.timbre :as log]))
|
||||||
|
|
||||||
(defonce event-emitter
|
(defonce event-emitter
|
||||||
@@ -256,19 +254,17 @@
|
|||||||
(catch on-failure))))
|
(catch on-failure))))
|
||||||
|
|
||||||
(defn sign
|
(defn sign
|
||||||
[{:keys [pin path hash-data]}]
|
[{pin :pin path :path card-hash :hash on-success :on-success on-failure :on-failure}]
|
||||||
(if path
|
(when (and pin card-hash)
|
||||||
(oops/ocall status-keycard "signWithPath" pin path hash-data)
|
(if path
|
||||||
(oops/ocall status-keycard "sign" pin hash-data)))
|
(.. status-keycard
|
||||||
|
(signWithPath pin path card-hash)
|
||||||
(schema/=> sign
|
(then on-success)
|
||||||
[:=>
|
(catch on-failure))
|
||||||
[:cat
|
(.. status-keycard
|
||||||
[:map
|
(sign pin card-hash)
|
||||||
[:pin :string]
|
(then on-success)
|
||||||
[:hash-data :string]
|
(catch on-failure)))))
|
||||||
[:path {:optional true} [:maybe :string]]]]
|
|
||||||
:any])
|
|
||||||
|
|
||||||
(defn sign-typed-data
|
(defn sign-typed-data
|
||||||
[{card-hash :hash on-success :on-success on-failure :on-failure}]
|
[{card-hash :hash on-success :on-success on-failure :on-failure}]
|
||||||
|
|||||||
@@ -18,23 +18,25 @@
|
|||||||
clock-value
|
clock-value
|
||||||
"0x0000000000000000000000000000000000000000000000000000000000000000"))
|
"0x0000000000000000000000000000000000000000000000000000000000000000"))
|
||||||
|
|
||||||
(rf/reg-event-fx :chats-list/load-success
|
(rf/defn update-chats-in-app-db
|
||||||
(fn [{:keys [db]} [^js new-chats-js]]
|
{:events [:chats-list/load-success]}
|
||||||
(let [{:keys [all-chats chats-home-list]}
|
[{:keys [db]} ^js new-chats-js]
|
||||||
(reduce (fn [acc ^js chat-js]
|
(let [{:keys [all-chats chats-home-list]}
|
||||||
(let [{:keys [chat-id profile-public-key timeline? community-id active] :as chat}
|
(reduce (fn [acc ^js chat-js]
|
||||||
(data-store.chats/<-rpc-js chat-js)]
|
(let [{:keys [chat-id profile-public-key timeline? community-id active] :as chat}
|
||||||
(cond-> acc
|
(data-store.chats/<-rpc-js chat-js)]
|
||||||
(and (not profile-public-key) (not timeline?) (not community-id) active)
|
(cond-> acc
|
||||||
(update :chats-home-list conj chat-id)
|
(and (not profile-public-key) (not timeline?) (not community-id) active)
|
||||||
:always
|
(update :chats-home-list conj chat-id)
|
||||||
(assoc-in [:all-chats chat-id] chat))))
|
:always
|
||||||
{:all-chats {}
|
(assoc-in [:all-chats chat-id] chat))))
|
||||||
:chats-home-list #{}}
|
{:all-chats {}
|
||||||
new-chats-js)]
|
:chats-home-list #{}}
|
||||||
{:db (-> db
|
new-chats-js)]
|
||||||
(update :chats merge all-chats)
|
{:db (assoc db
|
||||||
(update :chats-home-list into chats-home-list))})))
|
:chats all-chats
|
||||||
|
:chats-home-list chats-home-list
|
||||||
|
:chats/loading? false)}))
|
||||||
|
|
||||||
(rf/defn load-chat-success
|
(rf/defn load-chat-success
|
||||||
{:events [:chats-list/load-chat-success]}
|
{:events [:chats-list/load-chat-success]}
|
||||||
|
|||||||
@@ -134,9 +134,9 @@
|
|||||||
unmarshal-members))
|
unmarshal-members))
|
||||||
|
|
||||||
(re-frame/reg-fx :fetch-chats-preview
|
(re-frame/reg-fx :fetch-chats-preview
|
||||||
(fn [{:keys [on-success chat-preview-type]}]
|
(fn [{:keys [on-success]}]
|
||||||
(json-rpc/call {:method "wakuext_chatsPreview"
|
(json-rpc/call {:method "wakuext_chatsPreview"
|
||||||
:params [chat-preview-type]
|
:params []
|
||||||
:js-response true
|
:js-response true
|
||||||
:on-success #(on-success ^js %)
|
:on-success #(on-success ^js %)
|
||||||
:on-error #(log/error "failed to fetch chats" 0 -1 %)})))
|
:on-error #(log/error "failed to fetch chats" 0 -1 %)})))
|
||||||
|
|||||||
@@ -0,0 +1,67 @@
|
|||||||
|
(ns legacy.status-im.ui.screens.about-app.views
|
||||||
|
(:require
|
||||||
|
[legacy.status-im.ui.components.colors :as colors]
|
||||||
|
[legacy.status-im.ui.components.copyable-text :as copyable-text]
|
||||||
|
[legacy.status-im.ui.components.icons.icons :as icons]
|
||||||
|
[legacy.status-im.ui.components.list.item :as list.item]
|
||||||
|
[legacy.status-im.ui.components.react :as react]
|
||||||
|
[quo.core :as quo]
|
||||||
|
[utils.i18n :as i18n]
|
||||||
|
[utils.re-frame :as rf])
|
||||||
|
(:require-macros [legacy.status-im.utils.views :as views]))
|
||||||
|
|
||||||
|
(views/defview about-app
|
||||||
|
[]
|
||||||
|
(views/letsubs [app-version [:get-app-short-version]
|
||||||
|
commit-hash [:get-commit-hash]
|
||||||
|
node-version [:get-app-node-version]]
|
||||||
|
[:<>
|
||||||
|
[quo/page-nav
|
||||||
|
{:type :title
|
||||||
|
:title (i18n/label :t/about-app)
|
||||||
|
:background :blur
|
||||||
|
:icon-name :i/close
|
||||||
|
:on-press #(rf/dispatch [:navigate-back])}]
|
||||||
|
[react/scroll-view
|
||||||
|
[copyable-text/copyable-text-view
|
||||||
|
{:copied-text app-version}
|
||||||
|
[list.item/list-item
|
||||||
|
{:size :small
|
||||||
|
:accessibility-label :app-version
|
||||||
|
:title (i18n/label :t/version)
|
||||||
|
:accessory :text
|
||||||
|
:accessory-text app-version}]]
|
||||||
|
[copyable-text/copyable-text-view
|
||||||
|
{:copied-text commit-hash}
|
||||||
|
[list.item/list-item
|
||||||
|
{:size :small
|
||||||
|
:accessibility-label :commit-hash
|
||||||
|
:title (i18n/label :t/app-commit)
|
||||||
|
:accessory :text
|
||||||
|
:accessory-text commit-hash}]]
|
||||||
|
[copyable-text/copyable-text-view
|
||||||
|
{:copied-text node-version}
|
||||||
|
[list.item/list-item
|
||||||
|
{:size :small
|
||||||
|
:accessibility-label :node-version
|
||||||
|
:title (i18n/label :t/node-version)
|
||||||
|
:accessory :text
|
||||||
|
:accessory-text node-version}]]]]))
|
||||||
|
|
||||||
|
(views/defview learn-more-sheet
|
||||||
|
[]
|
||||||
|
(views/letsubs [{:keys [title content]} [:bottom-sheet/options]]
|
||||||
|
[react/view
|
||||||
|
{:style {:padding-left 16
|
||||||
|
:padding-top 16
|
||||||
|
:padding-right 34
|
||||||
|
:padding-bottom 0}}
|
||||||
|
[react/view {:style {:align-items :center :flex-direction :row :margin-bottom 16}}
|
||||||
|
[icons/icon :main-icons/info
|
||||||
|
{:color colors/blue
|
||||||
|
:container-style {:margin-right 13}}]
|
||||||
|
[react/text {:style {:typography :title-bold}} title]]
|
||||||
|
[react/text {:style {:color colors/gray}} content]]))
|
||||||
|
|
||||||
|
(def learn-more
|
||||||
|
{:content learn-more-sheet})
|
||||||
@@ -33,9 +33,6 @@
|
|||||||
name]]]]))
|
name]]]]))
|
||||||
|
|
||||||
(def log-levels
|
(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"
|
[{:name "DISABLED"
|
||||||
:value ""}
|
:value ""}
|
||||||
{:name "ERROR"
|
{:name "ERROR"
|
||||||
@@ -45,7 +42,9 @@
|
|||||||
{:name "INFO"
|
{:name "INFO"
|
||||||
:value "INFO"}
|
:value "INFO"}
|
||||||
{:name "DEBUG"
|
{:name "DEBUG"
|
||||||
:value "DEBUG"}])
|
:value "DEBUG"}
|
||||||
|
{:name "TRACE"
|
||||||
|
:value "TRACE"}])
|
||||||
|
|
||||||
(views/defview log-level-settings
|
(views/defview log-level-settings
|
||||||
[]
|
[]
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
(ns legacy.status-im.ui.screens.screens
|
(ns legacy.status-im.ui.screens.screens
|
||||||
(:require
|
(:require
|
||||||
[legacy.status-im.ui.components.colors :as colors]
|
[legacy.status-im.ui.components.colors :as colors]
|
||||||
|
[legacy.status-im.ui.screens.about-app.views :as about-app]
|
||||||
[legacy.status-im.ui.screens.advanced-settings.views :as advanced-settings]
|
[legacy.status-im.ui.screens.advanced-settings.views :as advanced-settings]
|
||||||
[legacy.status-im.ui.screens.appearance.views :as appearance]
|
[legacy.status-im.ui.screens.appearance.views :as appearance]
|
||||||
[legacy.status-im.ui.screens.backup-settings.view :as backup-settings]
|
[legacy.status-im.ui.screens.backup-settings.view :as backup-settings]
|
||||||
@@ -92,6 +93,12 @@
|
|||||||
:insets {:top? platform/android?}}
|
:insets {:top? platform/android?}}
|
||||||
:component sync-settings/sync-settings}
|
:component sync-settings/sync-settings}
|
||||||
|
|
||||||
|
;; ABOUT
|
||||||
|
{:name :about-app
|
||||||
|
:options {:topBar {:visible false}
|
||||||
|
:insets {:top? platform/android?}}
|
||||||
|
:component about-app/about-app}
|
||||||
|
|
||||||
;; STATUS HELP
|
;; STATUS HELP
|
||||||
{:name :help-center
|
{:name :help-center
|
||||||
:options {:topBar {:visible false}
|
:options {:topBar {:visible false}
|
||||||
|
|||||||
@@ -135,6 +135,7 @@
|
|||||||
:chat/cooldowns
|
:chat/cooldowns
|
||||||
:chat/last-outgoing-message-sent-at
|
:chat/last-outgoing-message-sent-at
|
||||||
:chat/spam-messages-frequency
|
:chat/spam-messages-frequency
|
||||||
|
:chats/loading?
|
||||||
:dimensions/window]))]
|
:dimensions/window]))]
|
||||||
{:logs/archive-logs [db-json
|
{:logs/archive-logs [db-json
|
||||||
(if (= transport :email)
|
(if (= transport :email)
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
(ns legacy.status-im.utils.prices
|
||||||
|
(:require
|
||||||
|
[status-im.common.json-rpc.events :as json-rpc]))
|
||||||
|
|
||||||
|
(defn- format-price-resp
|
||||||
|
[resp to mainnet?]
|
||||||
|
(if mainnet?
|
||||||
|
resp
|
||||||
|
{:ETH (into {}
|
||||||
|
(for [[_ price] resp]
|
||||||
|
{(keyword to) price}))}))
|
||||||
|
|
||||||
|
(defn get-prices
|
||||||
|
[from to mainnet? on-success on-error]
|
||||||
|
(json-rpc/call {:method "wallet_fetchPrices"
|
||||||
|
:params [from to]
|
||||||
|
:on-success (fn [resp] (on-success (format-price-resp resp to mainnet?)))
|
||||||
|
:on-error on-error}))
|
||||||
@@ -535,6 +535,10 @@
|
|||||||
[]
|
[]
|
||||||
(.logFileDirectory ^js (log-manager)))
|
(.logFileDirectory ^js (log-manager)))
|
||||||
|
|
||||||
|
(defn init-status-go-logging
|
||||||
|
[{:keys [enable? mobile-system? log-level log-request-go? callback]}]
|
||||||
|
(.initLogging ^js (log-manager) enable? mobile-system? log-level log-request-go? callback))
|
||||||
|
|
||||||
(defn get-random-mnemonic
|
(defn get-random-mnemonic
|
||||||
[callback]
|
[callback]
|
||||||
(.getRandomMnemonic ^js (account-manager) #(callback (types/json->clj %))))
|
(.getRandomMnemonic ^js (account-manager) #(callback (types/json->clj %))))
|
||||||
|
|||||||
@@ -1,34 +0,0 @@
|
|||||||
(ns quo.components.cards.wallet-card.component-spec
|
|
||||||
(:require
|
|
||||||
[quo.components.cards.wallet-card.view :as wallet-card]
|
|
||||||
[quo.foundations.resources :as resources]
|
|
||||||
[test-helpers.component :as h]))
|
|
||||||
|
|
||||||
(def ^:private base-props
|
|
||||||
{:image (resources/get-image :keycard-logo)
|
|
||||||
:title "Buy"
|
|
||||||
:subtitle "Start investing now"})
|
|
||||||
|
|
||||||
(h/describe "cards: wallet card"
|
|
||||||
(h/test "Test default render"
|
|
||||||
(let [event (h/mock-fn)]
|
|
||||||
(h/render-with-theme-provider [wallet-card/view
|
|
||||||
(assoc base-props
|
|
||||||
:on-press
|
|
||||||
event)])
|
|
||||||
(h/is-truthy (h/get-by-label-text :wallet-card))
|
|
||||||
(h/is-truthy (h/get-by-text "Buy"))
|
|
||||||
(h/is-truthy (h/get-by-text "Start investing now"))
|
|
||||||
(h/is-truthy (h/get-by-label-text :image))
|
|
||||||
(h/fire-event :press (h/get-by-label-text :wallet-card))
|
|
||||||
(h/was-called event)))
|
|
||||||
|
|
||||||
(h/test "Test render with dismissible prop"
|
|
||||||
(let [event (h/mock-fn)]
|
|
||||||
(h/render-with-theme-provider [wallet-card/view
|
|
||||||
(assoc base-props
|
|
||||||
:dismissible? true
|
|
||||||
:on-press-close event)])
|
|
||||||
(h/is-truthy (h/get-by-label-text :close-icon))
|
|
||||||
(h/fire-event :press (h/get-by-label-text :icon-container))
|
|
||||||
(h/was-called event))))
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
(ns quo.components.cards.wallet-card.schema)
|
|
||||||
|
|
||||||
(def ?schema
|
|
||||||
[:=>
|
|
||||||
[:catn
|
|
||||||
[:props
|
|
||||||
[:map {:closed true}
|
|
||||||
[:image :schema.common/image-source]
|
|
||||||
[:title :string]
|
|
||||||
[:subtitle :string]
|
|
||||||
[:dismissible? {:optional true} :boolean]
|
|
||||||
[:on-press {:optional true} fn?]
|
|
||||||
[:on-press-close {:optional true} fn?]
|
|
||||||
[:container-style {:optional true} :map]]]]
|
|
||||||
:any])
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
(ns quo.components.cards.wallet-card.style
|
|
||||||
(:require [quo.foundations.colors :as colors]
|
|
||||||
[quo.foundations.shadows :as shadows]))
|
|
||||||
|
|
||||||
(defn root-container
|
|
||||||
[theme container-style]
|
|
||||||
(merge (shadows/get 2 theme)
|
|
||||||
{:border-radius 16
|
|
||||||
:padding-vertical 10
|
|
||||||
:padding-horizontal 12
|
|
||||||
:width 161
|
|
||||||
:background-color (colors/theme-colors colors/white colors/neutral-90 theme)}
|
|
||||||
container-style))
|
|
||||||
|
|
||||||
(def top-container
|
|
||||||
{:flex-direction :row
|
|
||||||
:height 32
|
|
||||||
:justify-content :space-between
|
|
||||||
:margin-bottom 8})
|
|
||||||
|
|
||||||
(def image
|
|
||||||
{:height 32
|
|
||||||
:width 32})
|
|
||||||
|
|
||||||
(defn title
|
|
||||||
[theme]
|
|
||||||
{:color (colors/theme-colors colors/neutral-100 colors/white theme)})
|
|
||||||
|
|
||||||
(defn subtitle
|
|
||||||
[theme]
|
|
||||||
{:color (colors/theme-colors colors/neutral-50 colors/neutral-40 theme)})
|
|
||||||
@@ -1,44 +0,0 @@
|
|||||||
(ns quo.components.cards.wallet-card.view
|
|
||||||
(:require [quo.components.cards.wallet-card.schema :as component-schema]
|
|
||||||
[quo.components.cards.wallet-card.style :as style]
|
|
||||||
[quo.components.icon :as icon]
|
|
||||||
[quo.components.markdown.text :as text]
|
|
||||||
[quo.theme :as quo.theme]
|
|
||||||
[react-native.core :as rn]
|
|
||||||
[react-native.fast-image :as fast-image]
|
|
||||||
[schema.core :as schema]))
|
|
||||||
|
|
||||||
(defn- view-internal
|
|
||||||
[{:keys [image title subtitle dismissible? on-press on-press-close container-style]}]
|
|
||||||
(let [theme (quo.theme/use-theme)]
|
|
||||||
[rn/view {:style (style/root-container theme container-style)}
|
|
||||||
[rn/pressable
|
|
||||||
{:on-press on-press
|
|
||||||
:accessibility-label :wallet-card}
|
|
||||||
[rn/view {:style style/top-container}
|
|
||||||
[fast-image/fast-image
|
|
||||||
{:style style/image
|
|
||||||
:source image
|
|
||||||
:accessibility-label :image}]
|
|
||||||
(when dismissible?
|
|
||||||
[rn/pressable
|
|
||||||
{:on-press on-press-close
|
|
||||||
:accessibility-label :icon-container
|
|
||||||
:hit-slop {:top 5 :bottom 5 :left 5 :right 5}}
|
|
||||||
[icon/icon :i/close
|
|
||||||
{:size 12
|
|
||||||
:accessibility-label :close-icon}]])]
|
|
||||||
[text/text
|
|
||||||
{:style (style/title theme)
|
|
||||||
:size :paragraph-1
|
|
||||||
:weight :semi-bold
|
|
||||||
:number-of-lines 1}
|
|
||||||
title]
|
|
||||||
[text/text
|
|
||||||
{:style (style/subtitle theme)
|
|
||||||
:size :paragraph-2
|
|
||||||
:weight :regular
|
|
||||||
:number-of-lines 1}
|
|
||||||
subtitle]]]))
|
|
||||||
|
|
||||||
(def view (schema/instrument #'view-internal component-schema/?schema))
|
|
||||||
@@ -2,12 +2,11 @@
|
|||||||
|
|
||||||
(defn container
|
(defn container
|
||||||
[container-style]
|
[container-style]
|
||||||
(merge
|
(merge container-style
|
||||||
{:padding-vertical 7
|
{:padding-vertical 7
|
||||||
:padding-horizontal 20
|
:padding-horizontal 20
|
||||||
:flex-direction :row
|
:flex-direction :row
|
||||||
:align-items :flex-start}
|
:align-items :flex-start}))
|
||||||
container-style))
|
|
||||||
|
|
||||||
(def index
|
(def index
|
||||||
{:margin-left 5})
|
{:margin-left 5})
|
||||||
|
|||||||
@@ -41,7 +41,7 @@
|
|||||||
|
|
||||||
(defn view
|
(defn view
|
||||||
[{:keys [title description tag-picture tag-name description-after-tag step-number
|
[{:keys [title description tag-picture tag-name description-after-tag step-number
|
||||||
customization-color type blur? container-style icon icon-props]
|
customization-color type blur? container-style]
|
||||||
:or {type :bullet}}]
|
:or {type :bullet}}]
|
||||||
(let [theme (quo.theme/use-theme)]
|
(let [theme (quo.theme/use-theme)]
|
||||||
[rn/view {:style (style/container container-style)}
|
[rn/view {:style (style/container container-style)}
|
||||||
@@ -54,8 +54,6 @@
|
|||||||
:type (if customization-color :complete :neutral)} step-number]
|
:type (if customization-color :complete :neutral)} step-number]
|
||||||
:lock
|
:lock
|
||||||
[icon/icon :i/locked {:color (get-colors theme blur?)}]
|
[icon/icon :i/locked {:color (get-colors theme blur?)}]
|
||||||
:custom-icon
|
|
||||||
[icon/icon icon icon-props]
|
|
||||||
[icon/icon :i/bullet {:color (get-colors theme blur?)}])]
|
[icon/icon :i/bullet {:color (get-colors theme blur?)}])]
|
||||||
[rn/view {:style style/text-container}
|
[rn/view {:style style/text-container}
|
||||||
(when title
|
(when title
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
[react-native.core :as rn]))
|
[react-native.core :as rn]))
|
||||||
|
|
||||||
(defn view
|
(defn view
|
||||||
[{:keys [number-of-pins number-of-filled-pins error? info info-error?]
|
[{:keys [number-of-pins number-of-filled-pins error? info]
|
||||||
:or {number-of-pins 6 number-of-filled-pins 0}}]
|
:or {number-of-pins 6 number-of-filled-pins 0}}]
|
||||||
(let [theme (quo.theme/use-theme)]
|
(let [theme (quo.theme/use-theme)]
|
||||||
[rn/view {:style {:align-items :center}}
|
[rn/view {:style {:align-items :center}}
|
||||||
@@ -20,7 +20,7 @@
|
|||||||
(= i (inc number-of-filled-pins)) :active)}])]
|
(= i (inc number-of-filled-pins)) :active)}])]
|
||||||
(when info
|
(when info
|
||||||
[text/text
|
[text/text
|
||||||
{:style {:color (if (or error? info-error?)
|
{:style {:color (if error?
|
||||||
(colors/theme-colors colors/danger-50 colors/danger-60 theme)
|
(colors/theme-colors colors/danger-50 colors/danger-60 theme)
|
||||||
(colors/theme-colors colors/neutral-50 colors/neutral-40 theme))}
|
(colors/theme-colors colors/neutral-50 colors/neutral-40 theme))}
|
||||||
:size :paragraph-2}
|
:size :paragraph-2}
|
||||||
|
|||||||
@@ -16,8 +16,7 @@
|
|||||||
[rn/view {:style (style/loading-container size blur? theme)}]))
|
[rn/view {:style (style/loading-container size blur? theme)}]))
|
||||||
|
|
||||||
(defn- left-subtitle
|
(defn- left-subtitle
|
||||||
[{:keys [size subtitle-text-props subtitle-type subtitle-color icon icon-color blur? subtitle
|
[{:keys [size subtitle-type subtitle-color icon icon-color blur? subtitle customization-color emoji
|
||||||
customization-color emoji
|
|
||||||
network-image]
|
network-image]
|
||||||
:or {subtitle-type :default}}]
|
:or {subtitle-type :default}}]
|
||||||
(let [theme (quo.theme/use-theme)]
|
(let [theme (quo.theme/use-theme)]
|
||||||
@@ -40,10 +39,9 @@
|
|||||||
:style style/image}]
|
:style style/image}]
|
||||||
nil)])
|
nil)])
|
||||||
[text/text
|
[text/text
|
||||||
(merge {:weight :medium
|
{:weight :medium
|
||||||
:size :paragraph-2
|
:size :paragraph-2
|
||||||
:style (style/description subtitle-color blur? theme)}
|
:style (style/description subtitle-color blur? theme)}
|
||||||
subtitle-text-props)
|
|
||||||
subtitle]
|
subtitle]
|
||||||
(when (= subtitle-type :editable)
|
(when (= subtitle-type :editable)
|
||||||
[icons/icon :i/edit
|
[icons/icon :i/edit
|
||||||
@@ -77,8 +75,7 @@
|
|||||||
|
|
||||||
(defn- left-side
|
(defn- left-side
|
||||||
"The description can either be given as a string `subtitle-type` or a component `custom-subtitle`"
|
"The description can either be given as a string `subtitle-type` or a component `custom-subtitle`"
|
||||||
[{:keys [title subtitle-text-props status size blur? custom-subtitle icon subtitle subtitle-type
|
[{:keys [title status size blur? custom-subtitle icon subtitle subtitle-type subtitle-color icon-color
|
||||||
subtitle-color icon-color
|
|
||||||
customization-color network-image emoji title-icon]
|
customization-color network-image emoji title-icon]
|
||||||
:as props}]
|
:as props}]
|
||||||
(let [theme (quo.theme/use-theme)]
|
(let [theme (quo.theme/use-theme)]
|
||||||
@@ -97,7 +94,6 @@
|
|||||||
[custom-subtitle props]
|
[custom-subtitle props]
|
||||||
[left-subtitle
|
[left-subtitle
|
||||||
{:theme theme
|
{:theme theme
|
||||||
:subtitle-text-props subtitle-text-props
|
|
||||||
:size size
|
:size size
|
||||||
:subtitle-type subtitle-type
|
:subtitle-type subtitle-type
|
||||||
:subtitle-color subtitle-color
|
:subtitle-color subtitle-color
|
||||||
@@ -144,7 +140,6 @@
|
|||||||
[:size {:optional true} [:maybe [:enum :default :small :large]]]
|
[:size {:optional true} [:maybe [:enum :default :small :large]]]
|
||||||
[:title :string]
|
[:title :string]
|
||||||
[:subtitle {:optional true} [:maybe [:or :string :double]]]
|
[:subtitle {:optional true} [:maybe [:or :string :double]]]
|
||||||
[:subtitle-text-props {:optional true} [:maybe :map]]
|
|
||||||
[:custom-subtitle {:optional true} [:maybe fn?]]
|
[:custom-subtitle {:optional true} [:maybe fn?]]
|
||||||
[:icon {:optional true} [:maybe :keyword]]
|
[:icon {:optional true} [:maybe :keyword]]
|
||||||
[:title-icon {:optional true} [:maybe :keyword]]
|
[:title-icon {:optional true} [:maybe :keyword]]
|
||||||
|
|||||||
@@ -79,11 +79,11 @@
|
|||||||
[rn/view {:style style/community-logo-ring}]])
|
[rn/view {:style style/community-logo-ring}]])
|
||||||
|
|
||||||
(defn- description-container
|
(defn- description-container
|
||||||
[{:keys [description description-text collection-text community-text blur?
|
[{:keys [description description-text collection-text community-text
|
||||||
collection-image community-image description-accessibility-label]
|
collection-image community-image blur?]
|
||||||
context-tag-props :context-tag
|
context-tag-props :context-tag
|
||||||
summary-props :summary}]
|
summary-props :summary}]
|
||||||
[rn/view {:accessibility-label description-accessibility-label}
|
[rn/view
|
||||||
(cond
|
(cond
|
||||||
(and (= description :text) (not (string/blank? description-text)))
|
(and (= description :text) (not (string/blank? description-text)))
|
||||||
[text/text
|
[text/text
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
(ns quo.components.utilities.token.view
|
(ns quo.components.utilities.token.view
|
||||||
(:require
|
(:require
|
||||||
[clojure.string :as string]
|
[clojure.string :as string]
|
||||||
|
[quo.components.markdown.text :as quo]
|
||||||
[quo.components.utilities.token.loader :as token-loader]
|
[quo.components.utilities.token.loader :as token-loader]
|
||||||
[react-native.core :as rn]
|
[react-native.core :as rn]
|
||||||
[schema.core :as schema]
|
[schema.core :as schema]
|
||||||
@@ -32,7 +33,22 @@
|
|||||||
:height size-number)))
|
:height size-number)))
|
||||||
|
|
||||||
(def ^:private b64-png-image-prefix "data:image/png;base64,")
|
(def ^:private b64-png-image-prefix "data:image/png;base64,")
|
||||||
(def ^:const default-token-image (js/require "../resources/images/tokens/default-token.png"))
|
|
||||||
|
(defn temp-empty-symbol
|
||||||
|
[token size style]
|
||||||
|
[rn/view
|
||||||
|
{:style (token-style (merge {:justify-content :center
|
||||||
|
:align-items :center
|
||||||
|
:border-radius 20
|
||||||
|
:border-width 1
|
||||||
|
:border-color :grey}
|
||||||
|
style)
|
||||||
|
size)}
|
||||||
|
[quo/text {:style {:color :grey}}
|
||||||
|
(some-> token
|
||||||
|
name
|
||||||
|
first
|
||||||
|
string/capitalize)]])
|
||||||
|
|
||||||
(defn- normalize-b64-string
|
(defn- normalize-b64-string
|
||||||
[b64-image]
|
[b64-image]
|
||||||
@@ -53,12 +69,13 @@
|
|||||||
"
|
"
|
||||||
[{:keys [token size style image-source]
|
[{:keys [token size style image-source]
|
||||||
:or {size 32}}]
|
:or {size 32}}]
|
||||||
(let [img-src (if (string? image-source)
|
(let [img-src (if (string? image-source)
|
||||||
(normalize-b64-string image-source)
|
(normalize-b64-string image-source)
|
||||||
image-source)
|
image-source)]
|
||||||
token-image (or img-src (token-loader/get-token-image token) default-token-image)]
|
(if-let [existing-source (or img-src (token-loader/get-token-image token))]
|
||||||
[rn/image
|
[rn/image
|
||||||
{:style (token-style style size)
|
{:style (token-style style size)
|
||||||
:source token-image}]))
|
:source existing-source}]
|
||||||
|
[temp-empty-symbol token size style])))
|
||||||
|
|
||||||
(def view (schema/instrument #'view-internal ?schema))
|
(def view (schema/instrument #'view-internal ?schema))
|
||||||
|
|||||||
@@ -121,38 +121,33 @@
|
|||||||
[linear-gradient/linear-gradient
|
[linear-gradient/linear-gradient
|
||||||
{:start {:x 0 :y 0}
|
{:start {:x 0 :y 0}
|
||||||
:end {:x 1 :y 0}
|
:end {:x 1 :y 0}
|
||||||
:colors [(colors/theme-colors colors/white colors/neutral-95 theme)
|
:colors [(colors/theme-colors colors/white colors/neutral-100 theme)
|
||||||
(colors/theme-colors colors/white-opa-10 colors/neutral-95-opa-10 theme)]
|
(colors/theme-colors colors/white-opa-10 colors/neutral-100-opa-10 theme)]
|
||||||
:style style/gradient-start}])
|
:style style/gradient-start}])
|
||||||
(when (and overflow? disabled?)
|
(when (and overflow? disabled?)
|
||||||
[linear-gradient/linear-gradient
|
[linear-gradient/linear-gradient
|
||||||
{:start {:x 0 :y 0}
|
{:start {:x 0 :y 0}
|
||||||
:end {:x 1 :y 0}
|
:end {:x 1 :y 0}
|
||||||
:colors [(colors/theme-colors colors/white-opa-10 colors/neutral-95-opa-10 theme)
|
:colors [(colors/theme-colors colors/white-opa-10 colors/neutral-100-opa-10 theme)
|
||||||
(colors/theme-colors colors/white colors/neutral-95 theme)]
|
(colors/theme-colors colors/white colors/neutral-100 theme)]
|
||||||
:style style/gradient-end}])
|
:style style/gradient-end}])
|
||||||
(if-not input-disabled?
|
[rn/text-input
|
||||||
[rn/text-input
|
(cond-> {:ref set-input-ref
|
||||||
(cond-> {:ref set-input-ref
|
:style (style/input disabled? error? theme)
|
||||||
:style (style/input disabled? error? theme)
|
:placeholder-text-color (colors/theme-colors colors/neutral-40
|
||||||
:placeholder-text-color (colors/theme-colors colors/neutral-40
|
colors/neutral-50
|
||||||
colors/neutral-50
|
theme)
|
||||||
theme)
|
:keyboard-type :numeric
|
||||||
:keyboard-type :numeric
|
:editable (not input-disabled?)
|
||||||
:editable (not input-disabled?)
|
:auto-focus auto-focus?
|
||||||
:auto-focus auto-focus?
|
:on-focus on-input-focus
|
||||||
:on-focus on-input-focus
|
:on-change-text on-change-text
|
||||||
:on-change-text on-change-text
|
:on-layout on-layout-text-input
|
||||||
:on-layout on-layout-text-input
|
:on-selection-change on-selection-change
|
||||||
:on-selection-change on-selection-change
|
:show-soft-input-on-focus show-keyboard?
|
||||||
:show-soft-input-on-focus show-keyboard?
|
:default-value default-value
|
||||||
:default-value default-value
|
:placeholder "0"}
|
||||||
:placeholder "0"}
|
controlled-input? (assoc :value value))]]
|
||||||
controlled-input? (assoc :value value))]
|
|
||||||
[rn/text
|
|
||||||
{:style (style/input disabled? error? theme)
|
|
||||||
:on-layout on-layout-text-input}
|
|
||||||
(or value "0")])]
|
|
||||||
[text/text
|
[text/text
|
||||||
{:size :paragraph-2
|
{:size :paragraph-2
|
||||||
:weight :semi-bold
|
:weight :semi-bold
|
||||||
|
|||||||
@@ -6,8 +6,7 @@
|
|||||||
[:catn
|
[:catn
|
||||||
[:props
|
[:props
|
||||||
[:map
|
[:map
|
||||||
[:transaction {:optional true}
|
[:transaction {:optional true} [:maybe [:enum :receive :send :swap :bridge :buy :destroy :mint]]]
|
||||||
[:maybe [:enum :receive :send :swap :bridge :buy :destroy :mint :approval]]]
|
|
||||||
[:status {:optional true} [:maybe [:enum :pending :confirmed :finalised :failed]]]
|
[:status {:optional true} [:maybe [:enum :pending :confirmed :finalised :failed]]]
|
||||||
[:counter {:optional true} [:maybe :int]]
|
[:counter {:optional true} [:maybe :int]]
|
||||||
[:timestamp {:optional true} [:maybe :string]]
|
[:timestamp {:optional true} [:maybe :string]]
|
||||||
|
|||||||
@@ -41,8 +41,7 @@
|
|||||||
colors/white-opa-10)})
|
colors/white-opa-10)})
|
||||||
|
|
||||||
(def timestamp-container
|
(def timestamp-container
|
||||||
{:margin-left 4
|
{:margin-left 4})
|
||||||
:flex 1})
|
|
||||||
|
|
||||||
(defn timestamp
|
(defn timestamp
|
||||||
[theme blur?]
|
[theme blur?]
|
||||||
|
|||||||
@@ -12,24 +12,22 @@
|
|||||||
[utils.i18n :as i18n]))
|
[utils.i18n :as i18n]))
|
||||||
|
|
||||||
(def transaction-translation
|
(def transaction-translation
|
||||||
{:receive [i18n/label :t/receive]
|
{:receive [i18n/label :t/receive]
|
||||||
:send [i18n/label :t/send]
|
:send [i18n/label :t/send]
|
||||||
:swap [i18n/label :t/swap]
|
:swap [i18n/label :t/swap]
|
||||||
:bridge [i18n/label :t/bridge]
|
:bridge [i18n/label :t/bridge]
|
||||||
:buy [i18n/label :t/buy]
|
:buy [i18n/label :t/buy]
|
||||||
:destroy [i18n/label :t/destroy]
|
:destroy [i18n/label :t/destroy]
|
||||||
:mint [i18n/label :t/mint]
|
:mint [i18n/label :t/mint]})
|
||||||
:approval [i18n/label :t/set-spending-cap]})
|
|
||||||
|
|
||||||
(def transaction-icon
|
(def transaction-icon
|
||||||
{:receive :i/receive
|
{:receive :i/receive
|
||||||
:send :i/send
|
:send :i/send
|
||||||
:swap :i/transaction
|
:swap :i/transaction
|
||||||
:bridge :i/bridge
|
:bridge :i/bridge
|
||||||
:buy :i/buy
|
:buy :i/buy
|
||||||
:destroy :i/destroy
|
:destroy :i/destroy
|
||||||
:mint :i/mint
|
:mint :i/mint})
|
||||||
:approval :i/token-sales})
|
|
||||||
|
|
||||||
(def status-icon
|
(def status-icon
|
||||||
{:pending :i/pending-state
|
{:pending :i/pending-state
|
||||||
@@ -41,8 +39,7 @@
|
|||||||
[{:keys [transaction
|
[{:keys [transaction
|
||||||
timestamp
|
timestamp
|
||||||
counter
|
counter
|
||||||
blur?
|
blur?]
|
||||||
on-press-options]
|
|
||||||
:or {transaction :receive
|
:or {transaction :receive
|
||||||
counter 1}}
|
counter 1}}
|
||||||
theme]
|
theme]
|
||||||
@@ -67,13 +64,7 @@
|
|||||||
:size :label
|
:size :label
|
||||||
:style (style/timestamp theme blur?)
|
:style (style/timestamp theme blur?)
|
||||||
:accessibility-label :transaction-timestamp}
|
:accessibility-label :transaction-timestamp}
|
||||||
timestamp]]
|
timestamp]]])
|
||||||
(when on-press-options
|
|
||||||
[rn/pressable
|
|
||||||
{:on-press on-press-options
|
|
||||||
:hit-slop {:top 10 :bottom 10 :left 10 :right 10}}
|
|
||||||
[icon/icon :i/options
|
|
||||||
{:size 20}]])])
|
|
||||||
|
|
||||||
(defn transaction-icon-view
|
(defn transaction-icon-view
|
||||||
[{:keys [blur? transaction status]
|
[{:keys [blur? transaction status]
|
||||||
@@ -129,8 +120,8 @@
|
|||||||
:accessibility-label :wallet-activity
|
:accessibility-label :wallet-activity
|
||||||
:disabled (= state :disabled)
|
:disabled (= state :disabled)
|
||||||
:on-press on-press
|
:on-press on-press
|
||||||
:on-press-in (when on-press on-press-in)
|
:on-press-in on-press-in
|
||||||
:on-press-out (when on-press on-press-out)}
|
:on-press-out on-press-out}
|
||||||
[rn/view {:style style/container}
|
[rn/view {:style style/container}
|
||||||
[transaction-icon-view props theme]
|
[transaction-icon-view props theme]
|
||||||
[rn/view {:style {:flex 1}}
|
[rn/view {:style {:flex 1}}
|
||||||
|
|||||||
@@ -28,7 +28,6 @@
|
|||||||
quo.components.calendar.calendar-day.view
|
quo.components.calendar.calendar-day.view
|
||||||
quo.components.calendar.calendar-year.view
|
quo.components.calendar.calendar-year.view
|
||||||
quo.components.calendar.calendar.view
|
quo.components.calendar.calendar.view
|
||||||
quo.components.cards.wallet-card.view
|
|
||||||
quo.components.code.snippet-preview.view
|
quo.components.code.snippet-preview.view
|
||||||
quo.components.code.snippet.view
|
quo.components.code.snippet.view
|
||||||
quo.components.colors.color-picker.view
|
quo.components.colors.color-picker.view
|
||||||
@@ -242,7 +241,6 @@
|
|||||||
;;;; Cards
|
;;;; Cards
|
||||||
(def small-option-card quo.components.onboarding.small-option-card.view/small-option-card)
|
(def small-option-card quo.components.onboarding.small-option-card.view/small-option-card)
|
||||||
(def keycard quo.components.keycard.view/keycard)
|
(def keycard quo.components.keycard.view/keycard)
|
||||||
(def wallet-card quo.components.cards.wallet-card.view/view)
|
|
||||||
|
|
||||||
;;;; Colors
|
;;;; Colors
|
||||||
(def color-picker quo.components.colors.color-picker.view/view)
|
(def color-picker quo.components.colors.color-picker.view/view)
|
||||||
|
|||||||
@@ -91,7 +91,6 @@
|
|||||||
|
|
||||||
;;95 with transparency
|
;;95 with transparency
|
||||||
(def neutral-95-opa-0 (alpha neutral-95 0))
|
(def neutral-95-opa-0 (alpha neutral-95 0))
|
||||||
(def neutral-95-opa-10 (alpha neutral-95 0.1))
|
|
||||||
(def neutral-95-opa-60 (alpha neutral-95 0.6))
|
(def neutral-95-opa-60 (alpha neutral-95 0.6))
|
||||||
(def neutral-95-opa-70 (alpha neutral-95 0.7))
|
(def neutral-95-opa-70 (alpha neutral-95 0.7))
|
||||||
(def neutral-95-opa-80 (alpha neutral-95 0.8))
|
(def neutral-95-opa-80 (alpha neutral-95 0.8))
|
||||||
|
|||||||
@@ -9,7 +9,6 @@
|
|||||||
gestureHandlerRootHOC
|
gestureHandlerRootHOC
|
||||||
FlatList
|
FlatList
|
||||||
ScrollView)]
|
ScrollView)]
|
||||||
[react-native.core :as rn]
|
|
||||||
[react-native.flat-list :as rn-flat-list]
|
[react-native.flat-list :as rn-flat-list]
|
||||||
[reagent.core :as reagent]))
|
[reagent.core :as reagent]))
|
||||||
|
|
||||||
@@ -113,21 +112,17 @@
|
|||||||
render-fn]
|
render-fn]
|
||||||
:or {sticky-section-headers-enabled true}
|
:or {sticky-section-headers-enabled true}
|
||||||
:as props}]
|
:as props}]
|
||||||
(let [data (flatten-sections sections)
|
(let [data (flatten-sections sections)]
|
||||||
render-item (rn/use-callback
|
|
||||||
(fn [p1 p2 p3 p4]
|
|
||||||
[:<>
|
|
||||||
(if (:header? p1)
|
|
||||||
[render-section-header-fn p1 p2 p3 p4]
|
|
||||||
[render-fn p1 p2 p3 p4])
|
|
||||||
(when (and render-section-footer-fn
|
|
||||||
(is-last-item-in-section data p2))
|
|
||||||
[render-section-footer-fn p1 p2 p3 p4])])
|
|
||||||
[render-fn render-section-header-fn render-section-footer-fn])]
|
|
||||||
[flat-list
|
[flat-list
|
||||||
(merge props
|
(merge props
|
||||||
{:data data
|
{:data data
|
||||||
:render-fn render-item
|
:render-fn (fn [p1 p2 p3 p4]
|
||||||
:sticky-header-indices
|
[:<>
|
||||||
(when sticky-section-headers-enabled
|
(if (:header? p1)
|
||||||
(find-sticky-indices data))})]))
|
[render-section-header-fn p1 p2 p3 p4]
|
||||||
|
[render-fn p1 p2 p3 p4])
|
||||||
|
(when (and render-section-footer-fn
|
||||||
|
(is-last-item-in-section data p2))
|
||||||
|
[render-section-footer-fn p1 p2 p3 p4])])
|
||||||
|
:sticky-header-indices (when sticky-section-headers-enabled
|
||||||
|
(find-sticky-indices data))})]))
|
||||||
|
|||||||
@@ -47,8 +47,7 @@
|
|||||||
animating? (reagent/atom true)
|
animating? (reagent/atom true)
|
||||||
set-animating-true #(reset! animating? true)
|
set-animating-true #(reset! animating? true)
|
||||||
set-animating-false (fn [ms]
|
set-animating-false (fn [ms]
|
||||||
(js/setTimeout #(reset! animating? false) ms))
|
(js/setTimeout #(reset! animating? false) ms))]
|
||||||
on-scroll-update #(on-scroll % curr-scroll)]
|
|
||||||
(fn [{:keys [content skip-background?]}]
|
(fn [{:keys [content skip-background?]}]
|
||||||
(let [theme (quo.theme/use-theme)
|
(let [theme (quo.theme/use-theme)
|
||||||
{:keys [top] :as insets} (safe-area/get-insets)
|
{:keys [top] :as insets} (safe-area/get-insets)
|
||||||
@@ -95,5 +94,5 @@
|
|||||||
:close close
|
:close close
|
||||||
:scroll-enabled? scroll-enabled?
|
:scroll-enabled? scroll-enabled?
|
||||||
:current-scroll curr-scroll
|
:current-scroll curr-scroll
|
||||||
:on-scroll on-scroll-update
|
:on-scroll #(on-scroll % curr-scroll)
|
||||||
:sheet-animating? animating?}]]]]))))
|
:sheet-animating? animating?}]]]]))))
|
||||||
|
|||||||
@@ -150,19 +150,15 @@
|
|||||||
|
|
||||||
(defn- fiat->crypto
|
(defn- fiat->crypto
|
||||||
[value conversion-rate]
|
[value conversion-rate]
|
||||||
(if-not (string/blank? value)
|
(-> value
|
||||||
(-> value
|
(money/fiat->crypto conversion-rate)
|
||||||
(money/fiat->crypto conversion-rate)
|
(wallet-utils/cut-crypto-decimals-to-fit-usd-cents conversion-rate)))
|
||||||
(wallet-utils/cut-crypto-decimals-to-fit-usd-cents conversion-rate))
|
|
||||||
""))
|
|
||||||
|
|
||||||
(defn- crypto->fiat
|
(defn- crypto->fiat
|
||||||
[value conversion-rate]
|
[value conversion-rate]
|
||||||
(if-not (string/blank? value)
|
(-> value
|
||||||
(-> value
|
(money/crypto->fiat conversion-rate)
|
||||||
(money/crypto->fiat conversion-rate)
|
(wallet-utils/cut-fiat-balance-to-two-decimals)))
|
||||||
(wallet-utils/cut-fiat-balance-to-two-decimals))
|
|
||||||
""))
|
|
||||||
|
|
||||||
(defn ->crypto
|
(defn ->crypto
|
||||||
[state conversion-rate]
|
[state conversion-rate]
|
||||||
|
|||||||
@@ -61,17 +61,14 @@
|
|||||||
(defn view
|
(defn view
|
||||||
[{:keys [header footer customization-color footer-container-padding header-container-style
|
[{:keys [header footer customization-color footer-container-padding header-container-style
|
||||||
content-container-style gradient-cover? keyboard-should-persist-taps shell-overlay?
|
content-container-style gradient-cover? keyboard-should-persist-taps shell-overlay?
|
||||||
blur-options content-avoid-keyboard? automatically-adjust-keyboard-insets
|
blur-options content-avoid-keyboard? automatically-adjust-keyboard-insets]
|
||||||
;; Note: Provide `initial-header-height` to avoid a jump due to the on-layout 1-frame
|
|
||||||
;; delay. Revisit this on RN 0.76 since the on-layout delay has been fixed.
|
|
||||||
initial-header-height]
|
|
||||||
:or {footer-container-padding (safe-area/get-top)}}
|
:or {footer-container-padding (safe-area/get-top)}}
|
||||||
& children]
|
& children]
|
||||||
(reagent/with-let [scroll-view-ref (atom nil)
|
(reagent/with-let [scroll-view-ref (atom nil)
|
||||||
set-scroll-ref #(reset! scroll-view-ref %)
|
set-scroll-ref #(reset! scroll-view-ref %)
|
||||||
window-height (:height (rn/get-window))
|
window-height (:height (rn/get-window))
|
||||||
footer-container-height (reagent/atom 0)
|
footer-container-height (reagent/atom 0)
|
||||||
header-height (reagent/atom nil)
|
header-height (reagent/atom 0)
|
||||||
content-container-height (reagent/atom 0)
|
content-container-height (reagent/atom 0)
|
||||||
content-scroll-y (reagent/atom 0)
|
content-scroll-y (reagent/atom 0)
|
||||||
keyboard-height (reagent/atom 0)
|
keyboard-height (reagent/atom 0)
|
||||||
@@ -115,7 +112,7 @@
|
|||||||
{:style
|
{:style
|
||||||
(if content-avoid-keyboard?
|
(if content-avoid-keyboard?
|
||||||
(style/content-keyboard-avoiding-view
|
(style/content-keyboard-avoiding-view
|
||||||
{:top (or @header-height initial-header-height)
|
{:top @header-height
|
||||||
:bottom (if keyboard-shown?
|
:bottom (if keyboard-shown?
|
||||||
@footer-container-height
|
@footer-container-height
|
||||||
(+ bottom-safe-area @footer-container-height))})
|
(+ bottom-safe-area @footer-container-height))})
|
||||||
|
|||||||
@@ -159,10 +159,10 @@
|
|||||||
:add-divider? needs-divider?}))
|
:add-divider? needs-divider?}))
|
||||||
|
|
||||||
(defn clear-history-entry
|
(defn clear-history-entry
|
||||||
[chat needs-divider?]
|
[chat-id needs-divider?]
|
||||||
(entry {:icon :i/delete
|
(entry {:icon :i/delete
|
||||||
:label (i18n/label :t/clear-history)
|
:label (i18n/label :t/clear-history)
|
||||||
:on-press #(clear-history-action chat)
|
:on-press #(clear-history-action chat-id)
|
||||||
:danger? true
|
:danger? true
|
||||||
:sub-label nil
|
:sub-label nil
|
||||||
:accessibility-label :clear-history
|
:accessibility-label :clear-history
|
||||||
|
|||||||
@@ -1,9 +1,12 @@
|
|||||||
(ns status-im.common.log
|
(ns status-im.common.log
|
||||||
(:require
|
(:require
|
||||||
[clojure.pprint :as pprint]
|
[clojure.pprint :as promesa]
|
||||||
[clojure.string :as string]
|
[clojure.string :as string]
|
||||||
|
[native-module.core :as native-module]
|
||||||
[re-frame.core :as re-frame]
|
[re-frame.core :as re-frame]
|
||||||
[taoensso.timbre :as log]))
|
[status-im.config :as config]
|
||||||
|
[taoensso.timbre :as log]
|
||||||
|
[utils.transforms :as transforms]))
|
||||||
|
|
||||||
(def logs-queue (atom #queue []))
|
(def logs-queue (atom #queue []))
|
||||||
(def max-log-entries 1000)
|
(def max-log-entries 1000)
|
||||||
@@ -18,21 +21,33 @@
|
|||||||
|
|
||||||
(defn setup
|
(defn setup
|
||||||
[level]
|
[level]
|
||||||
(log/merge-config! {:ns-filter {:allow #{"*"} :deny #{"taoensso.sente"}}})
|
(let [handle-error (fn [res]
|
||||||
(when-not (string/blank? level)
|
(let [{:keys [error]} (transforms/json->clj res)]
|
||||||
(log/set-min-level! (-> level
|
(when-not (string/blank? error)
|
||||||
string/lower-case
|
(log/error "init statusgo logging failed" error))))
|
||||||
keyword))
|
logging-params {:enable? true
|
||||||
(log/merge-config!
|
:mobile-system? false
|
||||||
{:output-fn (fn [& data]
|
:log-level level
|
||||||
(let [res (apply log/default-output-fn data)]
|
:log-request-go? config/log-request-go
|
||||||
(add-log-entry res)
|
:callback handle-error}]
|
||||||
res))
|
(log/merge-config! {:ns-filter {:allow #{"*"} :deny #{"taoensso.sente"}}})
|
||||||
:middleware [(fn [data]
|
(if (string/blank? level)
|
||||||
(update data
|
(native-module/init-status-go-logging (merge logging-params {:log-level "WARN"}))
|
||||||
:vargs
|
(do
|
||||||
(partial mapv
|
(log/set-min-level! (-> level
|
||||||
#(if (string? %) % (with-out-str (pprint/pprint %))))))]})))
|
string/lower-case
|
||||||
|
keyword))
|
||||||
|
(log/merge-config!
|
||||||
|
{:output-fn (fn [& data]
|
||||||
|
(let [res (apply log/default-output-fn data)]
|
||||||
|
(add-log-entry res)
|
||||||
|
res))
|
||||||
|
:middleware [(fn [data]
|
||||||
|
(update data
|
||||||
|
:vargs
|
||||||
|
(partial mapv
|
||||||
|
#(if (string? %) % (with-out-str (promesa/pprint %))))))]})
|
||||||
|
(native-module/init-status-go-logging logging-params)))))
|
||||||
|
|
||||||
(re-frame/reg-fx
|
(re-frame/reg-fx
|
||||||
:logs/set-level
|
:logs/set-level
|
||||||
|
|||||||
@@ -0,0 +1,19 @@
|
|||||||
|
(ns status-im.common.metrics-confirmation-modal.style)
|
||||||
|
|
||||||
|
(def points-wrapper
|
||||||
|
{:margin-top 11
|
||||||
|
:margin-horizontal 20
|
||||||
|
:gap 21
|
||||||
|
:margin-bottom 8})
|
||||||
|
|
||||||
|
(def item-text
|
||||||
|
{:margin-left -24})
|
||||||
|
|
||||||
|
(def info-text
|
||||||
|
{:margin-top -5})
|
||||||
|
|
||||||
|
(def privacy-policy
|
||||||
|
{:margin-top 4
|
||||||
|
:margin-horizontal 20
|
||||||
|
:margin-bottom 20
|
||||||
|
:align-items :center})
|
||||||
@@ -0,0 +1,119 @@
|
|||||||
|
(ns status-im.common.metrics-confirmation-modal.view
|
||||||
|
(:require
|
||||||
|
[quo.core :as quo]
|
||||||
|
[quo.foundations.colors :as colors]
|
||||||
|
[quo.theme]
|
||||||
|
[react-native.core :as rn]
|
||||||
|
[status-im.common.metrics-confirmation-modal.style :as style]
|
||||||
|
[status-im.common.privacy.view :as privacy]
|
||||||
|
[utils.i18n :as i18n]
|
||||||
|
[utils.re-frame :as rf]))
|
||||||
|
|
||||||
|
(defn- dismiss-keyboard
|
||||||
|
[]
|
||||||
|
(rf/dispatch [:dismiss-keyboard]))
|
||||||
|
|
||||||
|
(defn- hide-bottom-sheet
|
||||||
|
[]
|
||||||
|
(rf/dispatch [:hide-bottom-sheet]))
|
||||||
|
|
||||||
|
(def ^:private will-receive-for-current-points
|
||||||
|
[:t/number-of-messages-sent
|
||||||
|
:t/connected-peers
|
||||||
|
:t/successful-messages-rate
|
||||||
|
:t/connection-type
|
||||||
|
:t/os-app-version-bandwidth])
|
||||||
|
|
||||||
|
(def ^:private will-receive-for-all-points
|
||||||
|
[:t/action-logs
|
||||||
|
:t/ip-addresses-uuid])
|
||||||
|
|
||||||
|
(def ^:private not-receive-points
|
||||||
|
[:t/your-profile-information
|
||||||
|
:t/your-addresses
|
||||||
|
:t/information-you-input-and-send])
|
||||||
|
|
||||||
|
(defn- bullet-points
|
||||||
|
[{:keys [title points lock?]}]
|
||||||
|
[rn/view
|
||||||
|
[quo/text {:weight :semi-bold}
|
||||||
|
title]
|
||||||
|
(for [label points]
|
||||||
|
^{:key label}
|
||||||
|
[quo/markdown-list
|
||||||
|
{:description (i18n/label label)
|
||||||
|
:blur? true
|
||||||
|
:type (when lock? :lock)
|
||||||
|
:container-style style/item-text}])])
|
||||||
|
|
||||||
|
(defn- on-share-usage
|
||||||
|
[]
|
||||||
|
(rf/dispatch [:centralized-metrics/toggle-centralized-metrics true true])
|
||||||
|
(hide-bottom-sheet))
|
||||||
|
|
||||||
|
(defn- on-do-not-share
|
||||||
|
[]
|
||||||
|
(rf/dispatch [:centralized-metrics/toggle-centralized-metrics false true])
|
||||||
|
(hide-bottom-sheet))
|
||||||
|
|
||||||
|
(declare view)
|
||||||
|
|
||||||
|
(defn- on-privacy-policy-press
|
||||||
|
[]
|
||||||
|
(rf/dispatch
|
||||||
|
[:show-bottom-sheet
|
||||||
|
{:content privacy/privacy-statement
|
||||||
|
:on-close (fn []
|
||||||
|
(rf/dispatch [:show-bottom-sheet
|
||||||
|
{:content view
|
||||||
|
:theme :dark
|
||||||
|
:shell? true}]))
|
||||||
|
:theme :dark
|
||||||
|
:shell? true}]))
|
||||||
|
|
||||||
|
(defn- privacy-policy-text
|
||||||
|
[]
|
||||||
|
[rn/view {:style style/privacy-policy}
|
||||||
|
[quo/text
|
||||||
|
[quo/text
|
||||||
|
{:style {:color colors/white-opa-50}
|
||||||
|
:size :paragraph-2}
|
||||||
|
(i18n/label :t/more-details-in-privacy-policy-1)]
|
||||||
|
[quo/text
|
||||||
|
{:size :paragraph-2
|
||||||
|
:weight :bold
|
||||||
|
:on-press on-privacy-policy-press}
|
||||||
|
(i18n/label :t/more-details-in-privacy-policy-2)]]])
|
||||||
|
|
||||||
|
(defn view
|
||||||
|
[]
|
||||||
|
(rn/use-mount #(dismiss-keyboard))
|
||||||
|
[:<>
|
||||||
|
[quo/drawer-top
|
||||||
|
{:title (i18n/label :t/help-us-improve-status)
|
||||||
|
:description (i18n/label :t/collecting-usage-data)}]
|
||||||
|
[rn/scroll-view
|
||||||
|
[rn/view {:style style/points-wrapper}
|
||||||
|
[bullet-points
|
||||||
|
{:title (i18n/label :t/we-will-receive-from-all-profiles)
|
||||||
|
:points will-receive-for-all-points}]
|
||||||
|
[bullet-points
|
||||||
|
{:title (i18n/label :t/we-will-receive-from-the-current-profile)
|
||||||
|
:points will-receive-for-current-points}]
|
||||||
|
[bullet-points
|
||||||
|
{:title (i18n/label :t/what-we-wont-receive)
|
||||||
|
:points not-receive-points
|
||||||
|
:lock? true}]
|
||||||
|
[quo/text
|
||||||
|
{:size :paragraph-2
|
||||||
|
:style style/info-text}
|
||||||
|
(i18n/label :t/sharing-usage-data-can-be-turned-off)]]]
|
||||||
|
[quo/bottom-actions
|
||||||
|
{:actions :two-actions
|
||||||
|
:blur? true
|
||||||
|
:button-one-label (i18n/label :t/help-us-improve-status)
|
||||||
|
:button-one-props {:on-press on-share-usage}
|
||||||
|
:button-two-label (i18n/label :t/not-now)
|
||||||
|
:button-two-props {:type :grey
|
||||||
|
:on-press on-do-not-share}}]
|
||||||
|
[privacy-policy-text]])
|
||||||
@@ -1,20 +1,11 @@
|
|||||||
(ns status-im.common.privacy.view
|
(ns status-im.common.privacy.view
|
||||||
(:require-macros [legacy.status-im.utils.slurp :refer [slurp]])
|
(:require-macros [legacy.status-im.utils.slurp :refer [slurp]])
|
||||||
(:require [quo.core :as quo]
|
(:require [quo.core :as quo]
|
||||||
[react-native.gesture :as gesture]
|
[react-native.gesture :as gesture]))
|
||||||
[status-im.contexts.settings.common.header :as header]
|
|
||||||
[utils.i18n :as i18n]))
|
|
||||||
|
|
||||||
(def privacy-statement-text (slurp "resources/privacy.mdwn"))
|
(def privacy-statement-text (slurp "resources/privacy.mdwn"))
|
||||||
|
|
||||||
(defn privacy-statement
|
(defn privacy-statement
|
||||||
[]
|
[]
|
||||||
[gesture/scroll-view {:style {:margin 20}}
|
[gesture/scroll-view {:margin 20}
|
||||||
[quo/text privacy-statement-text]])
|
[quo/text privacy-statement-text]])
|
||||||
|
|
||||||
(defn view
|
|
||||||
[]
|
|
||||||
[quo/overlay {:type :shell}
|
|
||||||
[header/view {:title (i18n/label :t/privacy-policy)}]
|
|
||||||
[gesture/scroll-view {:style {:padding-horizontal 20}}
|
|
||||||
[quo/text privacy-statement-text]]])
|
|
||||||
|
|||||||
@@ -3,9 +3,6 @@
|
|||||||
(def ui
|
(def ui
|
||||||
{:add-new-contact (js/require "../resources/images/ui2/add-contact.png")
|
{:add-new-contact (js/require "../resources/images/ui2/add-contact.png")
|
||||||
:biometrics (js/require "../resources/images/ui2/biometrics.png")
|
:biometrics (js/require "../resources/images/ui2/biometrics.png")
|
||||||
:usage-data (js/require "../resources/images/ui2/usage-data.png")
|
|
||||||
:login-syncing (js/require "../resources/images/ui2/login-syncing.png")
|
|
||||||
:chat-privately-with-friends (js/require "../resources/images/ui2/chat-privately-with-friends.png")
|
|
||||||
:desktop-how-to-pair-sign-in (js/require "../resources/images/ui2/desktop-how-to-pair-sign-in.png")
|
:desktop-how-to-pair-sign-in (js/require "../resources/images/ui2/desktop-how-to-pair-sign-in.png")
|
||||||
:desktop-how-to-pair-logged-in (js/require
|
:desktop-how-to-pair-logged-in (js/require
|
||||||
"../resources/images/ui2/desktop-how-to-pair-logged-in.png")
|
"../resources/images/ui2/desktop-how-to-pair-logged-in.png")
|
||||||
@@ -20,8 +17,8 @@
|
|||||||
:generate-keys1 (js/require "../resources/images/ui2/generating-keys-1.png")
|
:generate-keys1 (js/require "../resources/images/ui2/generating-keys-1.png")
|
||||||
:ethereum-address (js/require "../resources/images/ui2/ethereum-address.png")
|
:ethereum-address (js/require "../resources/images/ui2/ethereum-address.png")
|
||||||
:use-keycard (js/require "../resources/images/ui2/keycard.png")
|
:use-keycard (js/require "../resources/images/ui2/keycard.png")
|
||||||
:use-recovery-phrase (js/require "../resources/images/ui2/recovery-phrase.png")
|
|
||||||
:check-your-keycard (js/require "../resources/images/ui2/check-your-keycard.png")
|
:check-your-keycard (js/require "../resources/images/ui2/check-your-keycard.png")
|
||||||
|
:onboarding-illustration (js/require "../resources/images/ui2/onboarding_illustration.png")
|
||||||
:qr-code (js/require "../resources/images/ui2/qr-code.png")
|
:qr-code (js/require "../resources/images/ui2/qr-code.png")
|
||||||
:keycard-logo (js/require "../resources/images/ui2/keycard-logo.png")
|
:keycard-logo (js/require "../resources/images/ui2/keycard-logo.png")
|
||||||
:keycard-watermark (js/require "../resources/images/ui2/keycard-watermark.png")
|
:keycard-watermark (js/require "../resources/images/ui2/keycard-watermark.png")
|
||||||
@@ -37,13 +34,9 @@
|
|||||||
:notifications (js/require "../resources/images/ui2/notifications.png")
|
:notifications (js/require "../resources/images/ui2/notifications.png")
|
||||||
:nfc-prompt (js/require "../resources/images/ui2/nfc-prompt.png")
|
:nfc-prompt (js/require "../resources/images/ui2/nfc-prompt.png")
|
||||||
:nfc-success (js/require "../resources/images/ui2/nfc-success.png")
|
:nfc-success (js/require "../resources/images/ui2/nfc-success.png")
|
||||||
:own-buy-and-swap-your-crypto (js/require "../resources/images/ui2/own-buy-and-swap-your-crypto.png")
|
|
||||||
:preparing-status (js/require "../resources/images/ui2/preparing-status.png")
|
:preparing-status (js/require "../resources/images/ui2/preparing-status.png")
|
||||||
:store-your-assets-on-keycard (js/require "../resources/images/ui2/store-your-assets-on-keycard.png")
|
|
||||||
:syncing-devices (js/require "../resources/images/ui2/syncing_devices.png")
|
:syncing-devices (js/require "../resources/images/ui2/syncing_devices.png")
|
||||||
:syncing-wrong (js/require "../resources/images/ui2/syncing_wrong.png")
|
:syncing-wrong (js/require "../resources/images/ui2/syncing_wrong.png")})
|
||||||
:buy (js/require "../resources/images/ui2/buy.png")
|
|
||||||
:receive (js/require "../resources/images/ui2/receive.png")})
|
|
||||||
|
|
||||||
(def ui-themed
|
(def ui-themed
|
||||||
{:angry-man
|
{:angry-man
|
||||||
|
|||||||
@@ -36,15 +36,15 @@
|
|||||||
"wallet"
|
"wallet"
|
||||||
{:fx [[:dispatch [:wallet/signal-received event-js]]]}
|
{:fx [[:dispatch [:wallet/signal-received event-js]]]}
|
||||||
|
|
||||||
|
"wallet.sign.transactions"
|
||||||
|
{:fx [[:dispatch
|
||||||
|
[:standard-auth/authorize-with-keycard
|
||||||
|
{:on-complete #(rf/dispatch [:keycard/sign-hash %
|
||||||
|
(first (transforms/js->clj event-js))])}]]]}
|
||||||
|
|
||||||
"wallet.suggested.routes"
|
"wallet.suggested.routes"
|
||||||
{:fx [[:dispatch [:wallet/handle-suggested-routes (transforms/js->clj event-js)]]]}
|
{:fx [[:dispatch [:wallet/handle-suggested-routes (transforms/js->clj event-js)]]]}
|
||||||
|
|
||||||
"wallet.router.sign-transactions"
|
|
||||||
{:fx [[:dispatch [:wallet/sign-transactions-signal-received (transforms/js->clj event-js)]]]}
|
|
||||||
|
|
||||||
"wallet.router.transactions-sent"
|
|
||||||
{:fx [[:dispatch [:wallet/transactions-sent-signal-received (transforms/js->clj event-js)]]]}
|
|
||||||
|
|
||||||
"envelope.sent"
|
"envelope.sent"
|
||||||
(messages.transport/update-envelopes-status
|
(messages.transport/update-envelopes-status
|
||||||
cofx
|
cofx
|
||||||
|
|||||||
@@ -10,43 +10,24 @@
|
|||||||
[utils.re-frame :as rf]
|
[utils.re-frame :as rf]
|
||||||
[utils.security.core :as security]))
|
[utils.security.core :as security]))
|
||||||
|
|
||||||
(defn- handle-password-success
|
(rf/reg-fx :effects.keycard/call-on-auth-success
|
||||||
[has-partially-operable-accounts? on-auth-success masked-password]
|
(fn [on-auth-success]
|
||||||
(let [on-auth-success-callback #(on-auth-success masked-password)]
|
(when on-auth-success (on-auth-success ""))))
|
||||||
(rf/dispatch [:standard-auth/set-success true])
|
|
||||||
(rf/dispatch [:standard-auth/reset-login-password])
|
|
||||||
(if has-partially-operable-accounts?
|
|
||||||
(rf/dispatch [:wallet/make-partially-operable-accounts-fully-operable
|
|
||||||
{:password masked-password
|
|
||||||
:on-success on-auth-success-callback
|
|
||||||
:on-error on-auth-success-callback}])
|
|
||||||
(on-auth-success-callback))))
|
|
||||||
|
|
||||||
(defn authorize
|
(defn authorize
|
||||||
[{:keys [db]} [{:keys [on-auth-success] :as args}]]
|
[{:keys [db]} [{:keys [on-auth-success keycard-supported?] :as args}]]
|
||||||
(let [key-uid (get-in db [:profile/profile :key-uid])
|
(let [key-uid (get-in db [:profile/profile :key-uid])
|
||||||
keycard-profile? (get-in db [:profile/profile :keycard-pairing])]
|
keycard? (get-in db [:profile/profile :keycard-pairing])]
|
||||||
{:fx
|
{:fx
|
||||||
[(if keycard-profile?
|
[(if keycard?
|
||||||
[:dispatch
|
(if keycard-supported?
|
||||||
[:standard-auth/authorize-with-keycard
|
[:effects.keycard/call-on-auth-success on-auth-success]
|
||||||
{:on-complete
|
[:effects.utils/show-popup
|
||||||
(fn [pin]
|
{:title "This feature is not supported yet "
|
||||||
(rf/dispatch
|
:content
|
||||||
[:keycard/connect
|
"Keycard support is limited to logging in
|
||||||
{:key-uid key-uid
|
and signing the sending transaction.
|
||||||
:on-success
|
Use Status Desktop to access all functions."}])
|
||||||
(fn []
|
|
||||||
(rf/dispatch
|
|
||||||
[:keycard/get-keys
|
|
||||||
{:pin pin
|
|
||||||
:on-success (fn [{:keys [encryption-public-key]}]
|
|
||||||
(rf/dispatch [:keycard/disconnect])
|
|
||||||
(handle-password-success false
|
|
||||||
on-auth-success
|
|
||||||
(security/mask-data encryption-public-key)))
|
|
||||||
:on-failure #(rf/dispatch [:keycard/on-action-with-pin-error
|
|
||||||
%])}]))}]))}]]
|
|
||||||
[:effects.biometric/check-if-available
|
[:effects.biometric/check-if-available
|
||||||
{:key-uid key-uid
|
{:key-uid key-uid
|
||||||
:on-success #(rf/dispatch [:standard-auth/authorize-with-biometric args])
|
:on-success #(rf/dispatch [:standard-auth/authorize-with-biometric args])
|
||||||
@@ -108,12 +89,21 @@
|
|||||||
(defn- bottom-sheet-password-view
|
(defn- bottom-sheet-password-view
|
||||||
[{:keys [on-press-biometric on-auth-success auth-button-icon-left auth-button-label]}]
|
[{:keys [on-press-biometric on-auth-success auth-button-icon-left auth-button-label]}]
|
||||||
(fn []
|
(fn []
|
||||||
(let [has-partially-operable-accounts? (rf/sub [:wallet/has-partially-operable-accounts?])]
|
(let [has-partially-operable-accounts? (rf/sub [:wallet/has-partially-operable-accounts?])
|
||||||
|
handle-password-success
|
||||||
|
(fn [password]
|
||||||
|
(let [sha3-pwd (security/hash-masked-password password)
|
||||||
|
on-auth-success-callback #(on-auth-success sha3-pwd)]
|
||||||
|
(rf/dispatch [:standard-auth/set-success true])
|
||||||
|
(rf/dispatch [:standard-auth/reset-login-password])
|
||||||
|
(if has-partially-operable-accounts?
|
||||||
|
(rf/dispatch [:wallet/make-partially-operable-accounts-fully-operable
|
||||||
|
{:password sha3-pwd
|
||||||
|
:on-success on-auth-success-callback
|
||||||
|
:on-error on-auth-success-callback}])
|
||||||
|
(on-auth-success-callback))))]
|
||||||
[enter-password/view
|
[enter-password/view
|
||||||
{:on-enter-password #(handle-password-success
|
{:on-enter-password handle-password-success
|
||||||
has-partially-operable-accounts?
|
|
||||||
on-auth-success
|
|
||||||
(security/hash-masked-password %))
|
|
||||||
:on-press-biometrics on-press-biometric
|
:on-press-biometrics on-press-biometric
|
||||||
:button-icon-left auth-button-icon-left
|
:button-icon-left auth-button-icon-left
|
||||||
:button-label auth-button-label}])))
|
:button-label auth-button-label}])))
|
||||||
@@ -126,7 +116,6 @@
|
|||||||
:on-close #(rf/dispatch [:standard-auth/reset-login-password])
|
:on-close #(rf/dispatch [:standard-auth/reset-login-password])
|
||||||
:content (fn []
|
:content (fn []
|
||||||
[keycard.pin/auth {:on-complete on-complete}])}]]]})
|
[keycard.pin/auth {:on-complete on-complete}])}]]]})
|
||||||
|
|
||||||
(rf/reg-event-fx :standard-auth/authorize-with-keycard authorize-with-keycard)
|
(rf/reg-event-fx :standard-auth/authorize-with-keycard authorize-with-keycard)
|
||||||
|
|
||||||
(defn authorize-with-password
|
(defn authorize-with-password
|
||||||
|
|||||||
@@ -3,7 +3,6 @@
|
|||||||
(def error-message
|
(def error-message
|
||||||
{:margin-top 8
|
{:margin-top 8
|
||||||
:flex-direction :row
|
:flex-direction :row
|
||||||
:gap 4
|
|
||||||
:align-items :center})
|
:align-items :center})
|
||||||
|
|
||||||
(def auth-button
|
(def auth-button
|
||||||
|
|||||||
@@ -9,25 +9,26 @@
|
|||||||
|
|
||||||
(defn view
|
(defn view
|
||||||
[{:keys [track-text customization-color auth-button-label on-auth-success on-auth-fail
|
[{:keys [track-text customization-color auth-button-label on-auth-success on-auth-fail
|
||||||
auth-button-icon-left size blur? container-style disabled? dependencies on-complete]
|
auth-button-icon-left size blur? container-style disabled? dependencies keycard-supported?]
|
||||||
:or {container-style {:flex 1}}}]
|
:or {container-style {:flex 1}}}]
|
||||||
(let [theme (quo.theme/use-theme)
|
(let [theme (quo.theme/use-theme)
|
||||||
auth-method (rf/sub [:auth-method])
|
auth-method (rf/sub [:auth-method])
|
||||||
biometric-auth? (= auth-method constants/auth-method-biometric)
|
biometric-auth? (= auth-method constants/auth-method-biometric)
|
||||||
on-complete-callback (rn/use-callback
|
on-complete (rn/use-callback
|
||||||
(fn [reset-slider-fn]
|
(fn [reset]
|
||||||
(js/setTimeout #(reset-slider-fn false) 500)
|
(rf/dispatch [:standard-auth/authorize
|
||||||
(rf/dispatch [:standard-auth/authorize
|
{:on-close (fn [success?]
|
||||||
{:auth-button-icon-left auth-button-icon-left
|
(js/setTimeout #(reset success?) 200))
|
||||||
:theme theme
|
:auth-button-icon-left auth-button-icon-left
|
||||||
:blur? blur?
|
:theme theme
|
||||||
:biometric-auth? biometric-auth?
|
:blur? blur?
|
||||||
:on-auth-success on-auth-success
|
:keycard-supported? keycard-supported?
|
||||||
:on-auth-fail on-auth-fail
|
:biometric-auth? biometric-auth?
|
||||||
:auth-button-label auth-button-label}]))
|
:on-auth-success on-auth-success
|
||||||
(vec (conj dependencies on-auth-success on-auth-fail)))
|
:on-auth-fail on-auth-fail
|
||||||
on-complete (or on-complete on-complete-callback)
|
:auth-button-label auth-button-label}]))
|
||||||
biometric-type (rf/sub [:biometrics/supported-type])]
|
(vec (conj dependencies on-auth-success on-auth-fail)))
|
||||||
|
biometric-type (rf/sub [:biometrics/supported-type])]
|
||||||
[quo/slide-button
|
[quo/slide-button
|
||||||
{:container-style container-style
|
{:container-style container-style
|
||||||
:size size
|
:size size
|
||||||
|
|||||||
@@ -1,20 +1,11 @@
|
|||||||
(ns status-im.common.terms.view
|
(ns status-im.common.terms.view
|
||||||
(:require-macros [legacy.status-im.utils.slurp :refer [slurp]])
|
(:require-macros [legacy.status-im.utils.slurp :refer [slurp]])
|
||||||
(:require [quo.core :as quo]
|
(:require [quo.core :as quo]
|
||||||
[react-native.gesture :as gesture]
|
[react-native.gesture :as gesture]))
|
||||||
[status-im.contexts.settings.common.header :as header]
|
|
||||||
[utils.i18n :as i18n]))
|
|
||||||
|
|
||||||
(def terms-of-use-text (slurp "resources/terms-of-use.mdwn"))
|
(def terms-of-use-text (slurp "resources/terms-of-use.mdwn"))
|
||||||
|
|
||||||
(defn terms-of-use
|
(defn terms-of-use
|
||||||
[]
|
[]
|
||||||
[gesture/scroll-view {:style {:margin 20}}
|
[gesture/scroll-view {:margin 20}
|
||||||
[quo/text terms-of-use-text]])
|
[quo/text terms-of-use-text]])
|
||||||
|
|
||||||
(defn view
|
|
||||||
[]
|
|
||||||
[quo/overlay {:type :shell}
|
|
||||||
[header/view {:title (i18n/label :t/terms-of-service)}]
|
|
||||||
[gesture/scroll-view {:style {:padding-horizontal 20}}
|
|
||||||
[quo/text terms-of-use-text]]])
|
|
||||||
|
|||||||
@@ -28,10 +28,9 @@
|
|||||||
:long-enough?
|
:long-enough?
|
||||||
:short-enough?)))))
|
:short-enough?)))))
|
||||||
|
|
||||||
(def password-tip? (set constants/password-tips))
|
|
||||||
|
|
||||||
(defn strength
|
(defn strength
|
||||||
[validations]
|
[validations]
|
||||||
(->> validations
|
(->> (select-keys validations constants/password-tips)
|
||||||
(filter #(and (password-tip? (key %)) (val %)))
|
(vals)
|
||||||
(count)))
|
(filter true?)
|
||||||
|
count))
|
||||||
|
|||||||
@@ -35,12 +35,6 @@
|
|||||||
(def sepolia-chain-explorer-link "https://sepolia.etherscan.io/address/")
|
(def sepolia-chain-explorer-link "https://sepolia.etherscan.io/address/")
|
||||||
(def optimism-sepolia-chain-explorer-link "https://sepolia-optimistic.etherscan.io/address/")
|
(def optimism-sepolia-chain-explorer-link "https://sepolia-optimistic.etherscan.io/address/")
|
||||||
(def arbitrum-sepolia-chain-explorer-link "https://sepolia.arbiscan.io/address/")
|
(def arbitrum-sepolia-chain-explorer-link "https://sepolia.arbiscan.io/address/")
|
||||||
(def mainnet-tx-details-base-link "https://etherscan.io/tx")
|
|
||||||
(def optimism-mainnet-tx-details-base-link "https://optimistic.etherscan.io/tx")
|
|
||||||
(def arbitrum-mainnet-tx-details-base-link "https://arbiscan.io/tx")
|
|
||||||
(def mainnet-sepolia-tx-details-base-link "https://sepolia.etherscan.io/tx")
|
|
||||||
(def optimism-sepolia-tx-details-base-link "https://sepolia-optimistic.etherscan.io/tx")
|
|
||||||
(def arbitrum-sepolia-tx-details-base-link "https://sepolia.arbiscan.io/tx")
|
|
||||||
(def opensea-link "https://opensea.io")
|
(def opensea-link "https://opensea.io")
|
||||||
(def opensea-tesnet-link "https://testnets.opensea.io")
|
(def opensea-tesnet-link "https://testnets.opensea.io")
|
||||||
|
|
||||||
@@ -77,7 +71,7 @@
|
|||||||
|
|
||||||
;; CONFIG VALUES
|
;; CONFIG VALUES
|
||||||
(def log-level (string/upper-case (get-config :LOG_LEVEL "")))
|
(def log-level (string/upper-case (get-config :LOG_LEVEL "")))
|
||||||
(def api-logging-enabled? (enabled? (get-config :API_LOGGING_ENABLED "0")))
|
(def log-request-go (enabled? (get-config :LOG_REQUEST_GO "0")))
|
||||||
(def fleet (get-config :FLEET ""))
|
(def fleet (get-config :FLEET ""))
|
||||||
(def apn-topic (get-config :APN_TOPIC "im.status.ethereum"))
|
(def apn-topic (get-config :APN_TOPIC "im.status.ethereum"))
|
||||||
(def max-installations 2)
|
(def max-installations 2)
|
||||||
|
|||||||
@@ -76,9 +76,6 @@
|
|||||||
(def ^:const timeline-chat-type 5)
|
(def ^:const timeline-chat-type 5)
|
||||||
(def ^:const community-chat-type 6)
|
(def ^:const community-chat-type 6)
|
||||||
|
|
||||||
(def ^:const chat-preview-type-community 0)
|
|
||||||
(def ^:const chat-preview-type-non-community 1)
|
|
||||||
|
|
||||||
(def ^:const contact-request-message-state-none 0)
|
(def ^:const contact-request-message-state-none 0)
|
||||||
(def ^:const contact-request-message-state-pending 1)
|
(def ^:const contact-request-message-state-pending 1)
|
||||||
(def ^:const contact-request-message-state-accepted 2)
|
(def ^:const contact-request-message-state-accepted 2)
|
||||||
@@ -334,7 +331,6 @@
|
|||||||
(def ^:const privacy-policy-link "https://status.im/privacy-policy/")
|
(def ^:const privacy-policy-link "https://status.im/privacy-policy/")
|
||||||
(def ^:const terms-of-service-link "https://status.im/terms-of-use")
|
(def ^:const terms-of-service-link "https://status.im/terms-of-use")
|
||||||
(def ^:const create-account-link "https://status.app/help/wallet/create-wallet-accounts")
|
(def ^:const create-account-link "https://status.app/help/wallet/create-wallet-accounts")
|
||||||
(def ^:const mobile-upvote-link "https://status-mobile.featureupvote.com")
|
|
||||||
|
|
||||||
(def ^:const visibility-status-unknown 0)
|
(def ^:const visibility-status-unknown 0)
|
||||||
(def ^:const visibility-status-automatic 1)
|
(def ^:const visibility-status-automatic 1)
|
||||||
@@ -640,11 +636,3 @@
|
|||||||
:more-than-five-minutes 4})
|
:more-than-five-minutes 4})
|
||||||
|
|
||||||
(def ^:const wallet-connect-transaction-refresh-interval-ms 10000)
|
(def ^:const wallet-connect-transaction-refresh-interval-ms 10000)
|
||||||
|
|
||||||
(def ^:const native-token-symbol "ETH")
|
|
||||||
|
|
||||||
;; About app links
|
|
||||||
(def ^:const status-app-url "http://status.app")
|
|
||||||
(def ^:const go-waku-url "https://github.com/waku-org/go-waku")
|
|
||||||
(def ^:const status-go-url "https://github.com/status-im/status-go")
|
|
||||||
(def ^:const status-mobile-url "https://github.com/status-im/status-mobile")
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
[re-frame.interceptor :as interceptor]
|
[re-frame.interceptor :as interceptor]
|
||||||
status-im.contexts.centralized-metrics.effects
|
status-im.contexts.centralized-metrics.effects
|
||||||
[status-im.contexts.centralized-metrics.tracking :as tracking]
|
[status-im.contexts.centralized-metrics.tracking :as tracking]
|
||||||
|
[taoensso.timbre :as log]
|
||||||
[utils.re-frame :as rf]))
|
[utils.re-frame :as rf]))
|
||||||
|
|
||||||
(defn push-event?
|
(defn push-event?
|
||||||
@@ -15,6 +16,7 @@
|
|||||||
[context]
|
[context]
|
||||||
(when (push-event? (interceptor/get-coeffect context :db))
|
(when (push-event? (interceptor/get-coeffect context :db))
|
||||||
(when-let [event (tracking/metrics-event (interceptor/get-coeffect context :event))]
|
(when-let [event (tracking/metrics-event (interceptor/get-coeffect context :event))]
|
||||||
|
(log/debug "tracking event" event)
|
||||||
(if (or (seq? event) (vector? event))
|
(if (or (seq? event) (vector? event))
|
||||||
(doseq [e event]
|
(doseq [e event]
|
||||||
(native-module/add-centralized-metric e))
|
(native-module/add-centralized-metric e))
|
||||||
@@ -34,10 +36,18 @@
|
|||||||
(assoc :centralized-metrics/enabled? enabled?)
|
(assoc :centralized-metrics/enabled? enabled?)
|
||||||
(assoc :centralized-metrics/onboarding-enabled? (and onboarding? enabled?)))}))
|
(assoc :centralized-metrics/onboarding-enabled? (and onboarding? enabled?)))}))
|
||||||
|
|
||||||
(rf/reg-event-fx :centralized-metrics/check-user-confirmation
|
(rf/reg-event-fx :centralized-metrics/check-modal
|
||||||
(fn [{:keys [db]}]
|
(fn [{:keys [db]} [modal-view]]
|
||||||
(when-not (:centralized-metrics/user-confirmed? db)
|
(when-not (:centralized-metrics/user-confirmed? db)
|
||||||
{:fx [[:dispatch [:navigate-to :screen/onboarding.share-usage]]]})))
|
{:fx [[:dispatch
|
||||||
|
[:show-bottom-sheet
|
||||||
|
{:content (fn [] [modal-view])
|
||||||
|
;; When in the profiles screen do biometric auth after the metrics sheet is dismissed
|
||||||
|
;; https://github.com/status-im/status-mobile/issues/20932
|
||||||
|
:on-close (when (= (:view-id db) :screen/profile.profiles)
|
||||||
|
#(rf/dispatch [:profile.login/login-with-biometric-if-available
|
||||||
|
(get-in db [:profile/login :key-uid])]))
|
||||||
|
:shell? true}]]]})))
|
||||||
|
|
||||||
(rf/reg-fx :effects.centralized-metrics/track
|
(rf/reg-fx :effects.centralized-metrics/track
|
||||||
(fn [event]
|
(fn [event]
|
||||||
|
|||||||
@@ -6,15 +6,12 @@
|
|||||||
[status-im.navigation.screens :as screens]))
|
[status-im.navigation.screens :as screens]))
|
||||||
|
|
||||||
(defn key-value-event
|
(defn key-value-event
|
||||||
([event-name]
|
[event-name event-value]
|
||||||
(key-value-event event-name nil))
|
{:metric
|
||||||
([event-name event-value]
|
{:eventName event-name
|
||||||
(cond-> {:metric
|
:platform platform/os
|
||||||
{:eventName event-name
|
:appVersion build/app-short-version
|
||||||
:platform platform/os
|
:eventValue event-value}})
|
||||||
:appVersion build/app-short-version}}
|
|
||||||
event-value
|
|
||||||
(assoc-in [:metric :eventValue] event-value))))
|
|
||||||
|
|
||||||
(defn user-journey-event
|
(defn user-journey-event
|
||||||
[action]
|
[action]
|
||||||
@@ -44,22 +41,11 @@
|
|||||||
|
|
||||||
(defn track-view-id-event
|
(defn track-view-id-event
|
||||||
[view-id]
|
[view-id]
|
||||||
(let [screen (get screens/screens-by-name view-id)]
|
(if-let [screen (get screens/screens-by-name view-id)]
|
||||||
(cond-> []
|
(when (get-in screen [:metrics :track?])
|
||||||
(get-in screen [:metrics :track?])
|
(screen-event screen {}))
|
||||||
(conj (screen-event screen {}))
|
(when (contains? view-ids-to-track view-id)
|
||||||
|
(navigation-event (name view-id)))))
|
||||||
(contains? view-ids-to-track view-id)
|
|
||||||
(conj (navigation-event (name view-id)))
|
|
||||||
|
|
||||||
(= :screen/onboarding.syncing-results view-id)
|
|
||||||
(conj (key-value-event "onboarding-completed"))
|
|
||||||
|
|
||||||
(= :screen/keycard.migrate.success view-id)
|
|
||||||
(conj (key-value-event "keycard-migration-succeeded"))
|
|
||||||
|
|
||||||
(= :screen/keycard.migrate.fail view-id)
|
|
||||||
(conj (key-value-event "keycard-migration-failed")))))
|
|
||||||
|
|
||||||
(defn navigated-to-collectibles-tab-event
|
(defn navigated-to-collectibles-tab-event
|
||||||
[location]
|
[location]
|
||||||
@@ -74,13 +60,6 @@
|
|||||||
:centralized-metrics/toggle-centralized-metrics
|
:centralized-metrics/toggle-centralized-metrics
|
||||||
(key-value-event "events.metrics-enabled" {:enabled rf-event-parameter})
|
(key-value-event "events.metrics-enabled" {:enabled rf-event-parameter})
|
||||||
|
|
||||||
:profile.login/non-critical-initialization
|
|
||||||
(key-value-event "user-logged-in")
|
|
||||||
|
|
||||||
(:profile.create/create-and-login
|
|
||||||
:profile.recover/recover-and-login)
|
|
||||||
(key-value-event "onboarding-completed")
|
|
||||||
|
|
||||||
:set-view-id
|
:set-view-id
|
||||||
(track-view-id-event rf-event-parameter)
|
(track-view-id-event rf-event-parameter)
|
||||||
|
|
||||||
|
|||||||
@@ -42,19 +42,19 @@
|
|||||||
|
|
||||||
(deftest track-view-id-event-test
|
(deftest track-view-id-event-test
|
||||||
(testing "returns correct navigation event for view-id"
|
(testing "returns correct navigation event for view-id"
|
||||||
(is (= [{:metric
|
(is (= {:metric
|
||||||
{:eventName "navigation"
|
{:eventName "navigation"
|
||||||
:platform platform-os
|
:platform platform-os
|
||||||
:appVersion app-version
|
:appVersion app-version
|
||||||
:eventValue {:viewId "communities-stack"}}}]
|
:eventValue {:viewId "communities-stack"}}}
|
||||||
(tracking/track-view-id-event :communities-stack)))
|
(tracking/track-view-id-event :communities-stack)))
|
||||||
(is (= [{:metric
|
(is (= {:metric
|
||||||
{:eventName "navigation"
|
{:eventName "navigation"
|
||||||
:platform platform-os
|
:platform platform-os
|
||||||
:appVersion app-version
|
:appVersion app-version
|
||||||
:eventValue {:viewId "onboarding.create-profile-password"}}}]
|
:eventValue {:viewId "onboarding.create-profile-info"}}}
|
||||||
(tracking/track-view-id-event :screen/onboarding.create-profile-password)))
|
(tracking/track-view-id-event :screen/onboarding.create-profile)))
|
||||||
(is (= [] (tracking/track-view-id-event :unknown-stack)))))
|
(is (nil? (tracking/track-view-id-event :unknown-stack)))))
|
||||||
|
|
||||||
(deftest tracked-event-test
|
(deftest tracked-event-test
|
||||||
(testing "returns correct event for given inputs"
|
(testing "returns correct event for given inputs"
|
||||||
@@ -70,16 +70,16 @@
|
|||||||
:appVersion app-version
|
:appVersion app-version
|
||||||
:eventValue {:enabled true}}}
|
:eventValue {:enabled true}}}
|
||||||
(tracking/metrics-event [:centralized-metrics/toggle-centralized-metrics true])))
|
(tracking/metrics-event [:centralized-metrics/toggle-centralized-metrics true])))
|
||||||
(is (= [{:metric
|
(is (= {:metric
|
||||||
{:eventName "navigation"
|
{:eventName "navigation"
|
||||||
:platform platform-os
|
:platform platform-os
|
||||||
:appVersion app-version
|
:appVersion app-version
|
||||||
:eventValue {:viewId "wallet-stack"}}}]
|
:eventValue {:viewId "wallet-stack"}}}
|
||||||
(tracking/metrics-event [:set-view-id :wallet-stack])))
|
(tracking/metrics-event [:set-view-id :wallet-stack])))
|
||||||
(is (nil? (tracking/metrics-event [:unknown-event])))
|
(is (nil? (tracking/metrics-event [:unknown-event])))
|
||||||
(is (= [{:metric
|
(is (= {:metric
|
||||||
{:eventName "navigation"
|
{:eventName "navigation"
|
||||||
:platform platform-os
|
:platform platform-os
|
||||||
:appVersion app-version
|
:appVersion app-version
|
||||||
:eventValue {:viewId "onboarding.intro"}}}]
|
:eventValue {:viewId "onboarding.intro"}}}
|
||||||
(tracking/metrics-event [:set-view-id :screen/onboarding.intro])))))
|
(tracking/metrics-event [:set-view-id :screen/onboarding.intro])))))
|
||||||
|
|||||||