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,24 +16,20 @@ 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
|
||||||
- libevent (2.1.12)
|
- libevent (2.1.12)
|
||||||
- libwebp (1.3.2):
|
- libwebp (1.2.4):
|
||||||
- libwebp/demux (= 1.3.2)
|
- libwebp/demux (= 1.2.4)
|
||||||
- libwebp/mux (= 1.3.2)
|
- libwebp/mux (= 1.2.4)
|
||||||
- libwebp/sharpyuv (= 1.3.2)
|
- libwebp/webp (= 1.2.4)
|
||||||
- libwebp/webp (= 1.3.2)
|
- libwebp/demux (1.2.4):
|
||||||
- libwebp/demux (1.3.2):
|
|
||||||
- libwebp/webp
|
- libwebp/webp
|
||||||
- libwebp/mux (1.3.2):
|
- libwebp/mux (1.2.4):
|
||||||
- libwebp/demux
|
- libwebp/demux
|
||||||
- libwebp/sharpyuv (1.3.2)
|
- libwebp/webp (1.2.4)
|
||||||
- libwebp/webp (1.3.2):
|
|
||||||
- libwebp/sharpyuv
|
|
||||||
- RCT-Folly (2022.05.16.00):
|
- RCT-Folly (2022.05.16.00):
|
||||||
- boost
|
- boost
|
||||||
- DoubleConversion
|
- DoubleConversion
|
||||||
@@ -948,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):
|
||||||
@@ -1192,18 +1187,17 @@ PODS:
|
|||||||
- secp256k1 (0.1.6)
|
- secp256k1 (0.1.6)
|
||||||
- SocketRocket (0.6.1)
|
- SocketRocket (0.6.1)
|
||||||
- SSZipArchive (2.4.3)
|
- SSZipArchive (2.4.3)
|
||||||
- TOCropViewController (2.7.4)
|
- TOCropViewController (2.6.1)
|
||||||
- Yoga (1.14.0)
|
- Yoga (1.14.0)
|
||||||
|
|
||||||
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`)
|
||||||
@@ -1291,7 +1285,7 @@ DEPENDENCIES:
|
|||||||
|
|
||||||
SPEC REPOS:
|
SPEC REPOS:
|
||||||
trunk:
|
trunk:
|
||||||
- BigInt
|
- CryptoSwift
|
||||||
- fmt
|
- fmt
|
||||||
- HMSegmentedControl
|
- HMSegmentedControl
|
||||||
- libevent
|
- libevent
|
||||||
@@ -1305,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:
|
||||||
@@ -1321,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:
|
||||||
@@ -1485,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: 4ab977cc2b2d7319be858bcb30a5d189bb149884
|
: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
|
||||||
@@ -1507,9 +1493,9 @@ 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: 1786c9f4ff8a279e4dac1e8f385004d5fc253009
|
libwebp: f62cb61d0a484ba548448a4bd52aabf150ff6eef
|
||||||
RCT-Folly: 7169b2b1c44399c76a47b5deaaba715eeeb476c0
|
RCT-Folly: 7169b2b1c44399c76a47b5deaaba715eeeb476c0
|
||||||
RCTRequired: 2544c0f1081a5fa12e108bb8cb40e5f4581ccd87
|
RCTRequired: 2544c0f1081a5fa12e108bb8cb40e5f4581ccd87
|
||||||
RCTTypeSafety: 50efabe2b115c11ed03fbf3fd79e2f163ddb5d7c
|
RCTTypeSafety: 50efabe2b115c11ed03fbf3fd79e2f163ddb5d7c
|
||||||
@@ -1548,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,9 +1579,9 @@ SPEC CHECKSUMS:
|
|||||||
secp256k1: f61d67e6fdcb85fd727acf1bf35ace6036db540c
|
secp256k1: f61d67e6fdcb85fd727acf1bf35ace6036db540c
|
||||||
SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17
|
SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17
|
||||||
SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef
|
SSZipArchive: fe6a26b2a54d5a0890f2567b5cc6de5caa600aef
|
||||||
TOCropViewController: 80b8985ad794298fb69d3341de183f33d1853654
|
TOCropViewController: edfd4f25713d56905ad1e0b9f5be3fbe0f59c863
|
||||||
Yoga: a716eea57d0d3430219c0a5a233e1e93ee931eb7
|
Yoga: a716eea57d0d3430219c0a5a233e1e93ee931eb7
|
||||||
|
|
||||||
PODFILE CHECKSUM: 56d9f695324306d6db368d1172d211dfab55b7cb
|
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
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ in {
|
|||||||
yarn = super.yarn.override { nodejs = super.nodejs_20; };
|
yarn = super.yarn.override { nodejs = super.nodejs_20; };
|
||||||
openjdk = super.openjdk17_headless;
|
openjdk = super.openjdk17_headless;
|
||||||
xcodeWrapper = callPackage ./pkgs/xcodeenv/compose-xcodewrapper.nix { } {
|
xcodeWrapper = callPackage ./pkgs/xcodeenv/compose-xcodewrapper.nix { } {
|
||||||
versions = ["15.1" "15.2" "15.3" "15.4" "16.0" "16.1"];
|
versions = ["15.1" "15.2" "15.3" "15.4"];
|
||||||
};
|
};
|
||||||
go = super.go_1_21;
|
go = super.go_1_21;
|
||||||
clang = super.clang_15;
|
clang = super.clang_15;
|
||||||
|
|||||||
@@ -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 |
|
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: 49 KiB |
|
Before Width: | Height: | Size: 91 KiB |
|
Before Width: | Height: | Size: 148 KiB |
|
Before Width: | Height: | Size: 282 KiB |
@@ -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 %)})))
|
||||||
|
|||||||
@@ -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}
|
||||||
|
|||||||
@@ -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]])
|
||||||
@@ -3,7 +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")
|
||||||
: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")
|
||||||
@@ -18,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")
|
||||||
@@ -35,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
|
||||||
|
|||||||
@@ -116,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
|
||||||
|
|||||||
@@ -15,18 +15,18 @@
|
|||||||
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 (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
|
{:on-close (fn [success?]
|
||||||
[:standard-auth/authorize
|
(js/setTimeout #(reset success?) 200))
|
||||||
{:auth-button-icon-left auth-button-icon-left
|
:auth-button-icon-left auth-button-icon-left
|
||||||
:theme theme
|
:theme theme
|
||||||
:blur? blur?
|
:blur? blur?
|
||||||
:keycard-supported? keycard-supported?
|
:keycard-supported? keycard-supported?
|
||||||
:biometric-auth? biometric-auth?
|
:biometric-auth? biometric-auth?
|
||||||
:on-auth-success on-auth-success
|
:on-auth-success on-auth-success
|
||||||
:on-auth-fail on-auth-fail
|
:on-auth-fail on-auth-fail
|
||||||
:auth-button-label auth-button-label}]))
|
:auth-button-label auth-button-label}]))
|
||||||
(vec (conj dependencies on-auth-success on-auth-fail)))
|
(vec (conj dependencies on-auth-success on-auth-fail)))
|
||||||
biometric-type (rf/sub [:biometrics/supported-type])]
|
biometric-type (rf/sub [:biometrics/supported-type])]
|
||||||
[quo/slide-button
|
[quo/slide-button
|
||||||
|
|||||||
@@ -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)
|
||||||
@@ -639,5 +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")
|
|
||||||
|
|||||||
@@ -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,16 +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")))))
|
|
||||||
|
|
||||||
(defn navigated-to-collectibles-tab-event
|
(defn navigated-to-collectibles-tab-event
|
||||||
[location]
|
[location]
|
||||||
@@ -68,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])))))
|
||||||
|
|||||||
@@ -70,7 +70,7 @@
|
|||||||
(re-frame/dispatch [:select-contact public-key])))))
|
(re-frame/dispatch [:select-contact public-key])))))
|
||||||
|
|
||||||
(defn contact-item-render
|
(defn contact-item-render
|
||||||
[{:keys [public-key] :as item} _ _ {:keys [set-has-error]}]
|
[{:keys [public-key] :as item} set-has-error]
|
||||||
(let [user-selected? (rf/sub [:is-contact-selected? public-key])
|
(let [user-selected? (rf/sub [:is-contact-selected? public-key])
|
||||||
on-toggle (fn []
|
on-toggle (fn []
|
||||||
(-> public-key
|
(-> public-key
|
||||||
@@ -86,7 +86,7 @@
|
|||||||
item]))
|
item]))
|
||||||
|
|
||||||
(defn view
|
(defn view
|
||||||
[{:keys [on-scroll close]}]
|
[{:keys [scroll-enabled? on-scroll close]}]
|
||||||
(let [theme (quo.theme/use-theme)
|
(let [theme (quo.theme/use-theme)
|
||||||
contacts (rf/sub [:contacts/sorted-and-grouped-by-first-letter])
|
contacts (rf/sub [:contacts/sorted-and-grouped-by-first-letter])
|
||||||
selected-contacts-count (rf/sub [:selected-contacts-count])
|
selected-contacts-count (rf/sub [:selected-contacts-count])
|
||||||
@@ -94,6 +94,9 @@
|
|||||||
customization-color (rf/sub [:profile/customization-color])
|
customization-color (rf/sub [:profile/customization-color])
|
||||||
one-contact-selected? (= selected-contacts-count 1)
|
one-contact-selected? (= selected-contacts-count 1)
|
||||||
[has-error? set-has-error] (rn/use-state false)
|
[has-error? set-has-error] (rn/use-state false)
|
||||||
|
render-fn (rn/use-callback (fn [item]
|
||||||
|
(contact-item-render item set-has-error))
|
||||||
|
[set-has-error])
|
||||||
contacts-selected? (pos? selected-contacts-count)
|
contacts-selected? (pos? selected-contacts-count)
|
||||||
{:keys [primary-name public-key]} (when one-contact-selected?
|
{:keys [primary-name public-key]} (when one-contact-selected?
|
||||||
(rf/sub [:contacts/contact-by-identity
|
(rf/sub [:contacts/contact-by-identity
|
||||||
@@ -133,8 +136,8 @@
|
|||||||
:render-section-header-fn contact-list/contacts-section-header
|
:render-section-header-fn contact-list/contacts-section-header
|
||||||
:render-section-footer-fn contact-list/contacts-section-footer
|
:render-section-footer-fn contact-list/contacts-section-footer
|
||||||
:content-container-style {:padding-bottom 70}
|
:content-container-style {:padding-bottom 70}
|
||||||
:render-fn contact-item-render
|
:render-fn render-fn
|
||||||
:render-data {:set-has-error set-has-error}
|
:scroll-enabled @scroll-enabled?
|
||||||
:on-scroll on-scroll}])
|
:on-scroll on-scroll}])
|
||||||
(when contacts-selected?
|
(when contacts-selected?
|
||||||
[rn/view
|
[rn/view
|
||||||
|
|||||||
@@ -2,39 +2,29 @@
|
|||||||
(:require
|
(:require
|
||||||
[quo.foundations.colors :as colors]
|
[quo.foundations.colors :as colors]
|
||||||
[react-native.platform :as platform]
|
[react-native.platform :as platform]
|
||||||
|
[react-native.reanimated :as reanimated]
|
||||||
[status-im.contexts.chat.messenger.composer.constants :as constants]))
|
[status-im.contexts.chat.messenger.composer.constants :as constants]))
|
||||||
|
|
||||||
(defn- add-shadow
|
(defn shadow
|
||||||
[theme styles]
|
[theme]
|
||||||
(if platform/ios?
|
(if platform/ios?
|
||||||
(assoc styles
|
{:shadow-radius (colors/theme-colors 30 50 theme)
|
||||||
:shadow-radius (colors/theme-colors 30 50 theme)
|
:shadow-opacity (colors/theme-colors 0.1 0.7 theme)
|
||||||
:shadow-opacity (colors/theme-colors 0.1 0.7 theme)
|
:shadow-color colors/neutral-100
|
||||||
:shadow-color colors/neutral-100
|
:shadow-offset {:width 0 :height (colors/theme-colors 8 12 theme)}}
|
||||||
:shadow-offset {:width 0 :height (colors/theme-colors 8 12 theme)})
|
{:elevation 10}))
|
||||||
(assoc styles :elevation 10)))
|
|
||||||
|
|
||||||
(defn inner
|
|
||||||
[top theme]
|
|
||||||
(add-shadow theme
|
|
||||||
{:position :absolute
|
|
||||||
:top (- (+ 8 top))
|
|
||||||
:left 8
|
|
||||||
:right 8
|
|
||||||
:border-radius 16
|
|
||||||
:z-index 4
|
|
||||||
:max-height constants/mentions-max-height
|
|
||||||
:background-color (colors/theme-colors colors/white colors/neutral-95 theme)}))
|
|
||||||
|
|
||||||
(defn container
|
(defn container
|
||||||
[opacity top theme]
|
[opacity top theme]
|
||||||
[{:opacity opacity}
|
(reanimated/apply-animations-to-style
|
||||||
(add-shadow theme
|
{:opacity opacity}
|
||||||
{:position :absolute
|
(merge
|
||||||
:top (- (+ 8 top))
|
{:position :absolute
|
||||||
:left 8
|
:top (- (+ 8 top))
|
||||||
:right 8
|
:left 8
|
||||||
:border-radius 16
|
:right 8
|
||||||
:z-index 4
|
:border-radius 16
|
||||||
:max-height constants/mentions-max-height
|
:z-index 4
|
||||||
:background-color (colors/theme-colors colors/white colors/neutral-95 theme)})])
|
:max-height constants/mentions-max-height
|
||||||
|
:background-color (colors/theme-colors colors/white colors/neutral-95 theme)}
|
||||||
|
(shadow theme))))
|
||||||
|
|||||||
@@ -10,36 +10,37 @@
|
|||||||
[status-im.contexts.chat.messenger.messages.constants :as messages.constants]
|
[status-im.contexts.chat.messenger.messages.constants :as messages.constants]
|
||||||
[utils.re-frame :as rf]))
|
[utils.re-frame :as rf]))
|
||||||
|
|
||||||
(defn- mention-item
|
(defn mention-item
|
||||||
[[user-key user]]
|
[user]
|
||||||
(with-meta
|
[contact-list-item/contact-list-item
|
||||||
[contact-list-item/contact-list-item {:on-press #(rf/dispatch [:chat.ui/select-mention user])}
|
{:on-press #(rf/dispatch [:chat.ui/select-mention user])}
|
||||||
user]
|
user])
|
||||||
{:key user-key}))
|
|
||||||
|
|
||||||
(defn view
|
(defn view
|
||||||
[layout-height]
|
[layout-height]
|
||||||
(let [suggestions (rf/sub [:chat/mention-suggestions])
|
(let [suggestions (rf/sub [:chat/mention-suggestions])
|
||||||
suggestions? (seq suggestions)
|
suggestions? (seq suggestions)
|
||||||
theme (quo.theme/use-theme)
|
theme (quo.theme/use-theme)
|
||||||
opacity (reanimated/use-shared-value (if suggestions? 1 0))
|
opacity (reanimated/use-shared-value (if suggestions? 1 0))
|
||||||
[suggestions-state
|
[suggestions-state set-suggestions-state] (rn/use-state suggestions)
|
||||||
set-suggestions-state] (rn/use-state suggestions)
|
top (min constants/mentions-max-height
|
||||||
top (min constants/mentions-max-height
|
(* (count suggestions-state) 56)
|
||||||
(* (count suggestions-state) 56)
|
(- @layout-height
|
||||||
(- @layout-height
|
(+ (safe-area/get-top)
|
||||||
(+ (safe-area/get-top)
|
messages.constants/top-bar-height
|
||||||
messages.constants/top-bar-height
|
5)))]
|
||||||
5)))]
|
|
||||||
(rn/use-effect
|
(rn/use-effect
|
||||||
(fn []
|
(fn []
|
||||||
(if suggestions?
|
(if suggestions?
|
||||||
(set-suggestions-state suggestions)
|
(set-suggestions-state suggestions)
|
||||||
(js/setTimeout #(set-suggestions-state suggestions) 300))
|
(js/setTimeout #(set-suggestions-state suggestions) 300))
|
||||||
(reanimated/animate opacity (if suggestions? 1 0)))
|
(reanimated/animate opacity (if suggestions? 1 0)))
|
||||||
[suggestions])
|
[suggestions?])
|
||||||
[reanimated/view {:style (style/container opacity top theme)}
|
[reanimated/view
|
||||||
[rn/scroll-view
|
{:style (style/container opacity top theme)}
|
||||||
{:accessibility-label :mentions-list
|
[rn/flat-list
|
||||||
:keyboard-should-persist-taps :always}
|
{:keyboard-should-persist-taps :always
|
||||||
(map mention-item suggestions-state)]]))
|
:data (vals suggestions-state)
|
||||||
|
:key-fn :key
|
||||||
|
:render-fn mention-item
|
||||||
|
:accessibility-label :mentions-list}]]))
|
||||||
|
|||||||
@@ -225,8 +225,7 @@
|
|||||||
distance-from-list-top
|
distance-from-list-top
|
||||||
chat-list-scroll-y
|
chat-list-scroll-y
|
||||||
(on-scroll-fn distance-atom layout-height)))
|
(on-scroll-fn distance-atom layout-height)))
|
||||||
:style {:height "100%"
|
:style {:background-color (colors/theme-colors colors/white
|
||||||
:background-color (colors/theme-colors colors/white
|
|
||||||
colors/neutral-95
|
colors/neutral-95
|
||||||
theme)}
|
theme)}
|
||||||
:content-container-style (style/list-paddings add-padding-bottom?)
|
:content-container-style (style/list-paddings add-padding-bottom?)
|
||||||
|
|||||||
@@ -130,12 +130,4 @@
|
|||||||
:role-permissions? true}
|
:role-permissions? true}
|
||||||
:profile/test-networks-enabled? false})
|
:profile/test-networks-enabled? false})
|
||||||
(h/render [options/community-options-bottom-sheet {:id "test"}])
|
(h/render [options/community-options-bottom-sheet {:id "test"}])
|
||||||
(h/is-truthy (h/get-by-translation-text :t/unmute-community)))
|
(h/is-truthy (h/get-by-translation-text :t/unmute-community))))
|
||||||
|
|
||||||
(h/test "opened community"
|
|
||||||
(h/setup-subs {:communities/my-pending-request-to-join nil
|
|
||||||
:communities/community {:joined false
|
|
||||||
:spectated true}
|
|
||||||
:profile/test-networks-enabled? false})
|
|
||||||
(h/render [options/community-options-bottom-sheet {:id "test"}])
|
|
||||||
(h/is-truthy (h/get-by-translation-text :t/close-community))))
|
|
||||||
|
|||||||
@@ -124,14 +124,6 @@
|
|||||||
:on-press #(rf/dispatch [:show-bottom-sheet
|
:on-press #(rf/dispatch [:show-bottom-sheet
|
||||||
{:content (fn [] [leave-menu/leave-sheet id color])}])})
|
{:content (fn [] [leave-menu/leave-sheet id color])}])})
|
||||||
|
|
||||||
(defn close-community
|
|
||||||
[id]
|
|
||||||
{:icon :i/close-circle
|
|
||||||
:label (i18n/label :t/close-community)
|
|
||||||
:accessibility-label :close-community
|
|
||||||
:danger? true
|
|
||||||
:on-press #(rf/dispatch [:communities/leave id])})
|
|
||||||
|
|
||||||
(defn cancel-request-to-join
|
(defn cancel-request-to-join
|
||||||
[id request-id]
|
[id request-id]
|
||||||
{:icon :i/block
|
{:icon :i/block
|
||||||
@@ -143,7 +135,7 @@
|
|||||||
request-id])}])})
|
request-id])}])})
|
||||||
|
|
||||||
(defn not-joined-options
|
(defn not-joined-options
|
||||||
[{:keys [id join-pending? spectated? token-gated? intro-message test-networks-enabled?]}]
|
[id token-gated? intro-message test-networks-enabled?]
|
||||||
(let [common [(show-qr id) (share-community id)]
|
(let [common [(show-qr id) (share-community id)]
|
||||||
specific (cond
|
specific (cond
|
||||||
(and token-gated? (not test-networks-enabled?))
|
(and token-gated? (not test-networks-enabled?))
|
||||||
@@ -154,22 +146,19 @@
|
|||||||
|
|
||||||
(not token-gated?)
|
(not token-gated?)
|
||||||
[(view-members id) (view-rules id intro-message) (invite-contacts id)])]
|
[(view-members id) (view-rules id intro-message) (invite-contacts id)])]
|
||||||
[(concat specific
|
[(concat specific common)]))
|
||||||
common
|
|
||||||
(when (and spectated? (not join-pending?))
|
|
||||||
[(assoc (close-community id) :add-divider? true)]))]))
|
|
||||||
|
|
||||||
(defn join-request-sent-options
|
(defn join-request-sent-options
|
||||||
[{:keys [id request-id] :as config}]
|
[id token-gated? request-id intro-message test-networks-enabled?]
|
||||||
[(conj (first (not-joined-options config))
|
[(conj (first (not-joined-options id token-gated? intro-message test-networks-enabled?))
|
||||||
(assoc (cancel-request-to-join id request-id) :add-divider? true))])
|
(assoc (cancel-request-to-join id request-id) :add-divider? true))])
|
||||||
|
|
||||||
(defn banned-options
|
(defn banned-options
|
||||||
[config]
|
[id token-gated? intro-message test-networks-enabled?]
|
||||||
(not-joined-options config))
|
(not-joined-options id token-gated? intro-message test-networks-enabled?))
|
||||||
|
|
||||||
(defn joined-options
|
(defn joined-options
|
||||||
[{:keys [id token-gated? muted? muted-till color intro-message]}]
|
[id token-gated? muted? muted-till color intro-message]
|
||||||
[[(view-members id)
|
[[(view-members id)
|
||||||
(view-rules id intro-message)
|
(view-rules id intro-message)
|
||||||
(when token-gated? (view-token-gating id))
|
(when token-gated? (view-token-gating id))
|
||||||
@@ -184,7 +173,7 @@
|
|||||||
[(assoc (leave-community id color) :add-divider? true)]])
|
[(assoc (leave-community id color) :add-divider? true)]])
|
||||||
|
|
||||||
(defn owner-options
|
(defn owner-options
|
||||||
[{:keys [id token-gated? muted? muted-till intro-message]}]
|
[id token-gated? muted? muted-till intro-message]
|
||||||
[[(view-members id)
|
[[(view-members id)
|
||||||
(view-rules id intro-message)
|
(view-rules id intro-message)
|
||||||
(when token-gated? (view-token-gating id))
|
(when token-gated? (view-token-gating id))
|
||||||
@@ -197,29 +186,22 @@
|
|||||||
|
|
||||||
(defn get-context-drawers
|
(defn get-context-drawers
|
||||||
[{:keys [id]}]
|
[{:keys [id]}]
|
||||||
(let [{:keys
|
(let [{:keys [role-permissions? admin joined
|
||||||
[id admin joined
|
muted banList muted-till color
|
||||||
banList color muted muted-till
|
intro-message]} (rf/sub [:communities/community id])
|
||||||
spectated role-permissions?
|
request-id (rf/sub [:communities/my-pending-request-to-join id])
|
||||||
intro-message]} (rf/sub [:communities/community id])
|
test-networks? (rf/sub [:profile/test-networks-enabled?])]
|
||||||
request-id (rf/sub [:communities/my-pending-request-to-join id])
|
|
||||||
test-networks? (rf/sub [:profile/test-networks-enabled?])
|
|
||||||
config {:id id
|
|
||||||
:color color
|
|
||||||
:muted-till muted-till
|
|
||||||
:muted? muted
|
|
||||||
:spectated? spectated
|
|
||||||
:token-gated? role-permissions?
|
|
||||||
:intro-message intro-message
|
|
||||||
:test-networks? test-networks?
|
|
||||||
:join-pending? (boolean request-id)
|
|
||||||
:request-id request-id}]
|
|
||||||
(cond
|
(cond
|
||||||
admin (owner-options config)
|
admin
|
||||||
joined (joined-options config)
|
(owner-options id role-permissions? muted muted-till intro-message)
|
||||||
request-id (join-request-sent-options config)
|
joined
|
||||||
banList (banned-options config)
|
(joined-options id role-permissions? muted muted-till color intro-message)
|
||||||
:else (not-joined-options config))))
|
request-id
|
||||||
|
(join-request-sent-options id role-permissions? request-id intro-message test-networks?)
|
||||||
|
banList
|
||||||
|
(banned-options id role-permissions? intro-message test-networks?)
|
||||||
|
:else
|
||||||
|
(not-joined-options id role-permissions? intro-message test-networks?))))
|
||||||
|
|
||||||
(defn community-options-bottom-sheet
|
(defn community-options-bottom-sheet
|
||||||
[id]
|
[id]
|
||||||
|
|||||||
@@ -1,101 +0,0 @@
|
|||||||
(ns status-im.contexts.keycard.create.events
|
|
||||||
(:require [clojure.string :as string]
|
|
||||||
[utils.re-frame :as rf]
|
|
||||||
[utils.security.core :as security]))
|
|
||||||
|
|
||||||
(rf/reg-event-fx :keycard/create.check-empty-card
|
|
||||||
(fn [_]
|
|
||||||
{:fx [[:dispatch
|
|
||||||
[:keycard/connect
|
|
||||||
{:on-error
|
|
||||||
(fn [error]
|
|
||||||
(if (= error :keycard/error.keycard-blank)
|
|
||||||
(do
|
|
||||||
(rf/dispatch [:keycard/disconnect])
|
|
||||||
(rf/dispatch [:open-modal :screen/keycard.empty-create]))
|
|
||||||
(rf/dispatch [:keycard/on-application-info-error error])))}]]]}))
|
|
||||||
|
|
||||||
(rf/reg-event-fx :keycard/create.get-phrase
|
|
||||||
(fn [{:keys [db]}]
|
|
||||||
{:db (assoc-in db [:keycard :create] nil)
|
|
||||||
:fx [[:dispatch [:navigate-back]]
|
|
||||||
[:dispatch
|
|
||||||
[:open-modal :screen/backup-recovery-phrase-dark
|
|
||||||
{:on-success #(rf/dispatch [:keycard/create.phrase-backed-up %])}]]]}))
|
|
||||||
|
|
||||||
(rf/reg-event-fx :keycard/create.phrase-backed-up
|
|
||||||
(fn [{:keys [db]} [masked-phrase-vector]]
|
|
||||||
{:db (assoc-in db
|
|
||||||
[:keycard :create :masked-phrase]
|
|
||||||
(->> masked-phrase-vector
|
|
||||||
security/safe-unmask-data
|
|
||||||
(string/join " ")
|
|
||||||
security/mask-data))
|
|
||||||
:fx [[:dispatch [:keycard/create.create-or-enter-pin]]]}))
|
|
||||||
|
|
||||||
(rf/reg-event-fx :keycard/create.create-or-enter-pin
|
|
||||||
(fn [{:keys [db]}]
|
|
||||||
(let [{:keys [initialized?]} (get-in db [:keycard :application-info])]
|
|
||||||
{:fx [[:dispatch [:navigate-back]]
|
|
||||||
(if initialized?
|
|
||||||
[:dispatch
|
|
||||||
[:open-modal :screen/keycard.pin.enter
|
|
||||||
{:on-complete (fn [new-pin]
|
|
||||||
(rf/dispatch [:keycard/create.save-pin new-pin])
|
|
||||||
(rf/dispatch [:keycard/create.start]))}]]
|
|
||||||
[:dispatch
|
|
||||||
[:open-modal :screen/keycard.pin.create
|
|
||||||
{:on-complete (fn [new-pin]
|
|
||||||
(rf/dispatch [:navigate-back])
|
|
||||||
(rf/dispatch [:keycard/create.save-pin new-pin])
|
|
||||||
(rf/dispatch [:open-modal :screen/keycard.create.ready-to-add]))}]])]})))
|
|
||||||
|
|
||||||
(rf/reg-event-fx :keycard/create.save-pin
|
|
||||||
(fn [{:keys [db]} [pin]]
|
|
||||||
{:db (assoc-in db [:keycard :create :pin] pin)}))
|
|
||||||
|
|
||||||
(rf/reg-event-fx :keycard/create.start
|
|
||||||
(fn [_]
|
|
||||||
{:fx [[:dispatch
|
|
||||||
[:keycard/connect
|
|
||||||
{:on-error
|
|
||||||
(fn [error]
|
|
||||||
(if (= error :keycard/error.keycard-blank)
|
|
||||||
(rf/dispatch [:keycard/create.continue])
|
|
||||||
(rf/dispatch [:keycard/on-application-info-error error])))}]]]}))
|
|
||||||
|
|
||||||
(defn get-application-info-and-continue
|
|
||||||
[init?]
|
|
||||||
(rf/dispatch [:keycard/get-application-info
|
|
||||||
{:on-success #(rf/dispatch [:keycard/create.continue])
|
|
||||||
:on-error
|
|
||||||
(fn [error]
|
|
||||||
(if (or (= error :keycard/error.keycard-blank)
|
|
||||||
(and (not init?) (= error :keycard/error.keycard-wrong-profile)))
|
|
||||||
(rf/dispatch [:keycard/create.continue])
|
|
||||||
(rf/dispatch [:keycard/on-application-info-error error])))}]))
|
|
||||||
|
|
||||||
(rf/reg-event-fx :keycard/create.continue
|
|
||||||
(fn [{:keys [db]}]
|
|
||||||
(let [{:keys [initialized? has-master-key?]} (get-in db [:keycard :application-info])
|
|
||||||
{:keys [masked-phrase pin]} (get-in db [:keycard :create])]
|
|
||||||
|
|
||||||
(cond
|
|
||||||
|
|
||||||
(not initialized?)
|
|
||||||
{:fx [[:keycard/init-card
|
|
||||||
{:pin pin
|
|
||||||
:on-success #(get-application-info-and-continue true)}]]}
|
|
||||||
|
|
||||||
(not has-master-key?)
|
|
||||||
{:fx [[:effects.keycard/generate-and-load-key
|
|
||||||
{:mnemonic (security/safe-unmask-data masked-phrase)
|
|
||||||
:pin pin
|
|
||||||
:on-success #(get-application-info-and-continue false)
|
|
||||||
:on-failure #(rf/dispatch [:keycard/on-action-with-pin-error %])}]]}
|
|
||||||
|
|
||||||
:else
|
|
||||||
{:fx [[:effects.keycard/get-more-keys
|
|
||||||
{:pin pin
|
|
||||||
:on-success #(rf/dispatch [:keycard.login/recover-profile-and-login %])
|
|
||||||
:on-failure #(rf/dispatch [:keycard/on-action-with-pin-error %])}]]}))))
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
(ns status-im.contexts.keycard.create.view
|
|
||||||
(:require [quo.core :as quo]
|
|
||||||
[react-native.core :as rn]
|
|
||||||
[status-im.common.events-helper :as events-helper]
|
|
||||||
[status-im.common.resources :as resources]
|
|
||||||
[status-im.constants :as constants]
|
|
||||||
[utils.i18n :as i18n]
|
|
||||||
[utils.re-frame :as rf]))
|
|
||||||
|
|
||||||
(defn view
|
|
||||||
[]
|
|
||||||
[:<>
|
|
||||||
[quo/page-nav
|
|
||||||
{:key :header
|
|
||||||
:background :blur
|
|
||||||
:icon-name :i/arrow-left
|
|
||||||
:on-press events-helper/navigate-back}]
|
|
||||||
[quo/page-top
|
|
||||||
{:title (i18n/label :t/create-profile-keycard)}]
|
|
||||||
[rn/view {:style {:padding-horizontal 20 :padding-top 20}}
|
|
||||||
[quo/small-option-card
|
|
||||||
{:variant :main
|
|
||||||
:title (i18n/label :t/check-keycard)
|
|
||||||
:subtitle (i18n/label :t/see-keycard-ready)
|
|
||||||
:button-label (i18n/label :t/scan-keycard)
|
|
||||||
:accessibility-label :get-keycard
|
|
||||||
:image (resources/get-image :check-your-keycard)
|
|
||||||
:on-press #(rf/dispatch [:keycard/create.check-empty-card])}]
|
|
||||||
[rn/view {:style {:height 12}}]
|
|
||||||
[quo/small-option-card
|
|
||||||
{:variant :icon
|
|
||||||
:title (i18n/label :t/learn-more-keycard)
|
|
||||||
:subtitle (i18n/label :t/secure-wallet-card)
|
|
||||||
:accessibility-label :setup-keycard
|
|
||||||
:image (resources/get-image :use-keycard)
|
|
||||||
:on-press #(rf/dispatch [:browser.ui/open-url constants/get-keycard-url])}]]
|
|
||||||
[rn/view {:style {:flex 1}}]
|
|
||||||
[quo/divider-label (i18n/label :t/tips-scan-keycard)]
|
|
||||||
[quo/markdown-list {:description (i18n/label :t/remove-phone-case)}]
|
|
||||||
[quo/markdown-list {:description (i18n/label :t/keep-card-steady)}]])
|
|
||||||
|
|
||||||
(defn ready-to-add
|
|
||||||
[]
|
|
||||||
[:<>
|
|
||||||
[quo/page-nav
|
|
||||||
{:icon-name :i/arrow-left
|
|
||||||
:on-press events-helper/navigate-back}]
|
|
||||||
[quo/page-top
|
|
||||||
{:title (i18n/label :t/ready-add-keypair-keycard)
|
|
||||||
:description :text
|
|
||||||
:description-text ""}]
|
|
||||||
[rn/view {:style {:flex 1 :align-items :center :justify-content :center}}
|
|
||||||
[rn/image
|
|
||||||
{:resize-mode :contain
|
|
||||||
:source (resources/get-image :generate-keys1)}]]
|
|
||||||
[quo/divider-label (i18n/label :t/tips-scan-keycard)]
|
|
||||||
[quo/markdown-list {:description (i18n/label :t/remove-phone-case)}]
|
|
||||||
[quo/markdown-list {:description (i18n/label :t/keep-card-steady)}]
|
|
||||||
[quo/bottom-actions
|
|
||||||
{:actions :one-action
|
|
||||||
:button-one-label (i18n/label :t/ready-to-scan)
|
|
||||||
:button-one-props {:on-press #(rf/dispatch [:keycard/create.start])}}]])
|
|
||||||
@@ -1,13 +1,11 @@
|
|||||||
(ns status-im.contexts.keycard.effects
|
(ns status-im.contexts.keycard.effects
|
||||||
(:require [keycard.keycard :as keycard]
|
(:require [keycard.keycard :as keycard]
|
||||||
[native-module.core :as native-module]
|
[native-module.core :as native-module]
|
||||||
[promesa.core :as promesa]
|
|
||||||
[react-native.async-storage :as async-storage]
|
[react-native.async-storage :as async-storage]
|
||||||
[react-native.platform :as platform]
|
[react-native.platform :as platform]
|
||||||
status-im.contexts.keycard.nfc.effects
|
status-im.contexts.keycard.nfc.effects
|
||||||
[status-im.contexts.keycard.utils :as keycard.utils]
|
[status-im.contexts.keycard.utils :as keycard.utils]
|
||||||
[status-im.contexts.profile.config :as profile.config]
|
[status-im.contexts.profile.config :as profile.config]
|
||||||
[utils.hex :as hex]
|
|
||||||
[utils.re-frame :as rf]))
|
[utils.re-frame :as rf]))
|
||||||
|
|
||||||
(defonce ^:private active-listeners (atom []))
|
(defonce ^:private active-listeners (atom []))
|
||||||
@@ -52,22 +50,7 @@
|
|||||||
|
|
||||||
(rf/reg-fx :effects.keycard/sign
|
(rf/reg-fx :effects.keycard/sign
|
||||||
(fn [args]
|
(fn [args]
|
||||||
(-> (keycard/sign args)
|
(keycard/sign (keycard.utils/wrap-handlers args))))
|
||||||
(promesa/then (keycard.utils/get-on-success args))
|
|
||||||
(promesa/catch (keycard.utils/get-on-failure args)))))
|
|
||||||
|
|
||||||
(rf/reg-fx :effects.keycard/sign-hashes
|
|
||||||
(fn [{:keys [hashes pin path on-success] :as args}]
|
|
||||||
(-> (promesa/all
|
|
||||||
(for [hash-data hashes]
|
|
||||||
(-> (keycard/sign {:pin pin
|
|
||||||
:path path
|
|
||||||
:hash-data (hex/normalize-hex hash-data)})
|
|
||||||
(promesa/then (fn [signature]
|
|
||||||
{:signature signature
|
|
||||||
:message hash-data})))))
|
|
||||||
(promesa/then on-success)
|
|
||||||
(promesa/catch (keycard.utils/get-on-failure args)))))
|
|
||||||
|
|
||||||
(rf/reg-fx :keycard/init-card
|
(rf/reg-fx :keycard/init-card
|
||||||
(fn [args]
|
(fn [args]
|
||||||
|
|||||||
@@ -7,30 +7,6 @@
|
|||||||
[utils.i18n :as i18n]
|
[utils.i18n :as i18n]
|
||||||
[utils.re-frame :as rf]))
|
[utils.re-frame :as rf]))
|
||||||
|
|
||||||
(defn create
|
|
||||||
[]
|
|
||||||
[:<>
|
|
||||||
[quo/page-nav
|
|
||||||
{:icon-name :i/close
|
|
||||||
:on-press events-helper/navigate-back}]
|
|
||||||
[quo/page-top
|
|
||||||
{:title (i18n/label :t/keycard-empty)
|
|
||||||
:description :text
|
|
||||||
:description-text (i18n/label :t/what-to-do)}]
|
|
||||||
[rn/view {:style {:padding-horizontal 28 :padding-top 20}}
|
|
||||||
[quo/small-option-card
|
|
||||||
{:variant :main
|
|
||||||
:title (i18n/label :t/create-new-profile)
|
|
||||||
:subtitle (i18n/label :t/new-key-pair-keycard)
|
|
||||||
:button-label (i18n/label :t/lets-go)
|
|
||||||
:accessibility-label :create-new-profile-keycard
|
|
||||||
:image (resources/get-image :keycard-buy)
|
|
||||||
:on-press #(rf/dispatch [:keycard/create.get-phrase])}]]
|
|
||||||
[quo/information-box
|
|
||||||
{:type :default
|
|
||||||
:style {:margin-top 32 :margin-horizontal 28}}
|
|
||||||
(i18n/label :t/add-key-pair-desktop)]])
|
|
||||||
|
|
||||||
(defn view
|
(defn view
|
||||||
[]
|
[]
|
||||||
[:<>
|
[:<>
|
||||||
@@ -47,7 +23,7 @@
|
|||||||
:title (i18n/label :t/import-key-pair-keycard)
|
:title (i18n/label :t/import-key-pair-keycard)
|
||||||
:subtitle (i18n/label :t/use-keycard-login-sign)
|
:subtitle (i18n/label :t/use-keycard-login-sign)
|
||||||
:button-label (i18n/label :t/import-profile-key-pair)
|
:button-label (i18n/label :t/import-profile-key-pair)
|
||||||
:accessibility-label :import-key-pair-keycard
|
:accessibility-label :get-keycard
|
||||||
:image (resources/get-image :keycard-buy)
|
:image (resources/get-image :keycard-buy)
|
||||||
:on-press (fn []
|
:on-press (fn []
|
||||||
(rf/dispatch
|
(rf/dispatch
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
(ns status-im.contexts.keycard.events
|
(ns status-im.contexts.keycard.events
|
||||||
(:require [re-frame.core :as rf]
|
(:require [re-frame.core :as rf]
|
||||||
status-im.contexts.keycard.create.events
|
|
||||||
status-im.contexts.keycard.login.events
|
status-im.contexts.keycard.login.events
|
||||||
status-im.contexts.keycard.migrate.events
|
status-im.contexts.keycard.migrate.events
|
||||||
status-im.contexts.keycard.migrate.re-encrypting.events
|
status-im.contexts.keycard.migrate.re-encrypting.events
|
||||||
@@ -45,7 +44,6 @@
|
|||||||
(when-not (or tag-was-lost? (nil? pin-retries-count))
|
(when-not (or tag-was-lost? (nil? pin-retries-count))
|
||||||
{:db (-> db
|
{:db (-> db
|
||||||
(assoc-in [:keycard :application-info :pin-retry-counter] pin-retries-count)
|
(assoc-in [:keycard :application-info :pin-retry-counter] pin-retries-count)
|
||||||
(assoc-in [:keycard :pin :text] "")
|
|
||||||
(assoc-in [:keycard :pin :status] :error))
|
(assoc-in [:keycard :pin :status] :error))
|
||||||
:fx [[:dispatch [:keycard/disconnect]]
|
:fx [[:dispatch [:keycard/disconnect]]
|
||||||
(when (zero? pin-retries-count)
|
(when (zero? pin-retries-count)
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
(ns status-im.contexts.keycard.nfc.sheets.events
|
(ns status-im.contexts.keycard.nfc.sheets.events
|
||||||
(:require [re-frame.core :as rf]
|
(:require [re-frame.core :as rf]
|
||||||
[react-native.platform :as platform]))
|
[react-native.platform :as platform]
|
||||||
|
[taoensso.timbre :as log]))
|
||||||
|
|
||||||
(rf/reg-event-fx :keycard/show-connection-sheet
|
(rf/reg-event-fx :keycard/show-connection-sheet
|
||||||
(fn [{:keys [db]} [{:keys [on-cancel-event-vector]} :as args]]
|
(fn [{:keys [db]} [{:keys [on-cancel-event-vector]} :as args]]
|
||||||
@@ -8,16 +9,20 @@
|
|||||||
{:db (assoc-in db
|
{:db (assoc-in db
|
||||||
[:keycard :connection-sheet-opts]
|
[:keycard :connection-sheet-opts]
|
||||||
{:on-close #(rf/dispatch on-cancel-event-vector)})
|
{:on-close #(rf/dispatch on-cancel-event-vector)})
|
||||||
:fx [[:effects.keycard.ios/start-nfc nil]
|
:fx [[:dismiss-keyboard true]
|
||||||
[:dismiss-keyboard true]
|
|
||||||
[:show-nfc-sheet nil]]}
|
[:show-nfc-sheet nil]]}
|
||||||
{:effects.keycard.ios/start-nfc
|
{:effects.keycard.ios/start-nfc
|
||||||
{:on-success #(rf/dispatch [:keycard.ios/on-start-nfc-success args])}})))
|
{:on-success
|
||||||
|
(fn []
|
||||||
|
(log/debug "nfc started successfully. next: show-connection-sheet")
|
||||||
|
(rf/dispatch [:keycard.ios/on-start-nfc-success args]))
|
||||||
|
:on-failure
|
||||||
|
(fn []
|
||||||
|
(log/debug "nfc failed star starting. not calling show-connection-sheet"))}})))
|
||||||
|
|
||||||
(rf/reg-event-fx :keycard/hide-connection-sheet
|
(rf/reg-event-fx :keycard/hide-connection-sheet
|
||||||
(fn [{:keys [db]}]
|
(fn [{:keys [db]}]
|
||||||
(if platform/android?
|
(if platform/android?
|
||||||
{:db (assoc-in db [:keycard :connection-sheet-opts] nil)
|
{:db (assoc-in db [:keycard :connection-sheet-opts] nil)
|
||||||
:fx [[:effects.keycard.ios/stop-nfc nil]
|
:fx [[:hide-nfc-sheet nil]]}
|
||||||
[:hide-nfc-sheet nil]]}
|
|
||||||
{:effects.keycard.ios/stop-nfc nil})))
|
{:effects.keycard.ios/stop-nfc nil})))
|
||||||
|
|||||||