Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
141 commits
Select commit Hold shift + click to select a range
aed6b0e
Use ka_agree branch of 'react-native-verus'
who-biz May 29, 2025
fb6bbe7
Add lines to keys.js for testing of ka_agree
who-biz Jun 1, 2025
462645f
Merge remote-tracking branch 'origin/dev-asf-parent' into dev
Asherda Sep 23, 2025
bf45767
Update version
Asherda Sep 23, 2025
ece600e
Merge remote-tracking branch 'origin/dev-asf-parent' into dev
Asherda Sep 30, 2025
ca4d05c
Update version
Asherda Sep 30, 2025
a108301
Merge remote-tracking branch 'origin/dev-asf-parent' into dev
Asherda Oct 3, 2025
677ce4f
Update version
Asherda Oct 3, 2025
c638fb5
importing and making a wrapper for zgetencrpytionaddress, encrypt and…
iamahmedshahh Oct 23, 2025
3324450
Merge pull request #3 from iamahmedshahh/ka_agree
who-biz Nov 13, 2025
c765787
Merge branch 'ka_agree' into dev-backend-upgrade
who-biz Nov 13, 2025
0322d2a
Merge pull request #4 from who-biz/dev-backend-upgrade
who-biz Nov 13, 2025
e276e8f
Fix build, don't use yarnv4, remove extra yarn.lock changes
who-biz Nov 13, 2025
d7272b7
Fix misalgined package.json
who-biz Nov 13, 2025
48ea9b5
Merge branch 'dev-backend-upgrade' into ka_agree
who-biz Dec 16, 2025
7b7fcca
Update lockfile for most recent 'react-native-verus'
who-biz Dec 22, 2025
b3ea1bf
Add initial support for new generic request deeplink format with Veru…
michaeltout Jan 7, 2026
98b925e
Rename verusPayInvoiceDetailsHandler and add verus:// to android mani…
michaeltout Jan 8, 2026
db6363e
Checkpoint for Generic Request integration, add support for decoding …
michaeltout Jan 9, 2026
27cbb81
Add support for AuthenticationRequest and Response to GenericRequest …
michaeltout Jan 11, 2026
ef5cc49
Checkpoint for generic request changes: Update IdentityUpdate flow to…
michaeltout Jan 12, 2026
0c7e6fe
Checkpoint for Generic Request integration: Add more displays for ide…
michaeltout Jan 12, 2026
d9a4bb4
Update dependency branch for 'react-native-verus'
who-biz Jan 15, 2026
951bafc
Reduce redundant lines of code in SetConfig (walletFolder.js)
who-biz Jan 18, 2026
56437db
Fix function body of z_getencryptionaddress dlight request, update lo…
who-biz Jan 18, 2026
7b63a3a
Remove createJsonRpcResponse from getEncryptionAddress request entirely
who-biz Jan 19, 2026
c6ab347
Update locked 'react-native-verus' dependency
who-biz Jan 19, 2026
5139a65
Add beginnings of transaction tag support to VerusPay v4
michaeltout Feb 6, 2026
91270a8
Point verus libs back to updated VerusCoin repos
michaeltout Feb 6, 2026
b277e48
Merge branch 'generic-request-changes' into generic-request-changes
michaeltout Feb 6, 2026
4e4d7a8
Add .git extension back to verusd-rpc-ts-client dependancy in package…
michaeltout Feb 6, 2026
b31385d
Merge pull request #227 from michaeltout/generic-request-changes
michaeltout Feb 6, 2026
f611655
Update verus libs
michaeltout Feb 9, 2026
932dd59
Add checks for appOrDelegatedID when handling generic requests
michaeltout Feb 10, 2026
2e9f692
Fix issue with vrpc overrides not fully overriding servers for VRSC a…
michaeltout Feb 10, 2026
4a45ed1
Update verus libs
michaeltout Feb 10, 2026
f2a4367
Lock identity update deeplinks behind switch in settings
michaeltout Feb 10, 2026
caf89b5
Add support for ProvisionIdentityOrdinalVDXFObject
michaeltout Feb 13, 2026
4d0d168
Style fix for header in AuthenticationRequestInfo
michaeltout Feb 13, 2026
8a0673b
Update verus libs
michaeltout Feb 17, 2026
63a626e
FIx display bug with responseURIs in AuthenticationRequestInfo
michaeltout Feb 17, 2026
4ef9027
Update verus libs
michaeltout Feb 18, 2026
bdfab92
Verify generic response before sending back to redirect URI
michaeltout Feb 18, 2026
b814992
Add agents.md
michaeltout Feb 19, 2026
4d2d0a8
Add delay on incorrect password
michaeltout Feb 19, 2026
9590850
Update lockfile for react-native-verus
who-biz Feb 25, 2026
cfe7df9
Update references to VerusPayInvoiceDetailsOrdinalVDXFObject
michaeltout Mar 2, 2026
ae7304a
Fix off by one error in GenericRequestHome.js
michaeltout Mar 2, 2026
911ad0b
Update verus libs
michaeltout Mar 4, 2026
b432a4b
Update verus libs
michaeltout Mar 5, 2026
a4a8f41
Modify 'encrypt' request to properly use async
who-biz Mar 5, 2026
53c1c14
Fix imports in encrypt.js
who-biz Mar 5, 2026
bab360b
Properly structure for async/errors in 'decrypt', fix imports
who-biz Mar 5, 2026
1976f44
Fix typo in named argument for decrypt
who-biz Mar 5, 2026
89ca2fc
DeepLink: port redesigned generic-request UI screens
Meyse Feb 19, 2026
6391364
feat: redesign authentication request details flow
Meyse Feb 22, 2026
80768df
Update generic/auth deep link request flow
Meyse Mar 2, 2026
2c7d79f
Refine generic request identity and update-request UX
Meyse Mar 4, 2026
5862386
Redesign deeplink content removal request UI
Meyse Mar 6, 2026
eb6316f
Extract deeplink request styles into modules
Meyse Mar 6, 2026
ea1b378
works
Meyse Mar 6, 2026
bf93587
Update yarn.lock for latest react-native-verus
who-biz Mar 9, 2026
66add3c
Accomodate new method names from ReactNative for encrypt/decrypt
who-biz Mar 9, 2026
be5a649
Rename request functions (Message->Data)
who-biz Mar 9, 2026
4b2250d
Update Podfile.lock
who-biz Mar 9, 2026
6e80d82
Refine VerusID request CTA copy
Meyse Mar 9, 2026
10db943
Add support for API authentication, verify Generic requests without s…
michaeltout Mar 10, 2026
c815701
Update deps
michaeltout Mar 10, 2026
485ca18
Update verus libs
michaeltout Mar 10, 2026
58dc795
Merge branch 'dev-asf-parent' into ka_agree-string-fixes
who-biz Mar 11, 2026
03cbe30
Refactor deeplink request flows and native setup
Meyse Mar 12, 2026
8d9d49a
Use new validateUnsignedGenericRequest to validate unsigned generic r…
michaeltout Mar 12, 2026
151344e
Pass APIAuth through where vrpc providers are used
michaeltout Mar 12, 2026
ee880be
Merge VRPC auth updates from generic-request-changes
Meyse Mar 12, 2026
3c1d050
Update verus libs
michaeltout Mar 12, 2026
e9c2adb
Clean PR churn and fix auth response build
Meyse Mar 12, 2026
299ead2
Merge remote-tracking branch 'veruscoin/generic-request-changes' into…
Mar 13, 2026
b33ae8e
Address PR review follow-ups
Meyse Mar 13, 2026
6d57979
Remove AGENTS and refresh Verus libs lockfile
Meyse Mar 13, 2026
a3ad94f
Extend experimental generic request switch to cover more types of exp…
michaeltout Mar 16, 2026
66bc6f3
Update to latest typescript primitives conventions, support fqns as k…
michaeltout Mar 17, 2026
ef22404
Point rn-verus to VerusCoin, lock to commit
who-biz Mar 18, 2026
50c85e1
Merge branch 'generic-request-changes' into ka_agree-string-fixes
who-biz Mar 18, 2026
c620942
Merge pull request #233 from who-biz/ka_agree-string-fixes
michaeltout Mar 18, 2026
7917579
Minor syntax fixes
michaeltout Mar 18, 2026
4a64ee2
In identity update, add check for namespace and key (reject if unknow…
michaeltout Mar 19, 2026
2912a80
Update verus libs
michaeltout Mar 20, 2026
f6cd1b5
First commit for encryption requests ui
monkins1010 Mar 23, 2026
6801950
Add suport for cjs files to metro config
michaeltout Mar 23, 2026
33ec2af
Merge remote-tracking branch 'upstream/generic-request-changes' into …
monkins1010 Mar 23, 2026
01ce35b
allow local
monkins1010 Mar 23, 2026
78222a8
remove repeat
monkins1010 Mar 23, 2026
5c99c59
Encryption now handled
monkins1010 Mar 23, 2026
cb20e4c
enable z address seed for vrsctest
monkins1010 Mar 23, 2026
362e918
Add support for multiple app deeplinks
michaeltout Mar 23, 2026
710f6a9
Merge branch 'generic-request-changes' into add_qr_encryptionhandlers…
monkins1010 Mar 24, 2026
94b9c8f
Update to review #1
monkins1010 Mar 24, 2026
37e708d
Updates 2
monkins1010 Mar 24, 2026
94ee106
Merge branch 'add_qr_encryptionhandlers_and_ui' of https://github.com…
monkins1010 Mar 24, 2026
78393a6
revert debug location
monkins1010 Mar 24, 2026
3b67586
Add colours
monkins1010 Mar 24, 2026
dcd4ac9
Fix validataion bug
monkins1010 Mar 24, 2026
788ac5d
Update gradient styles
monkins1010 Mar 24, 2026
df66941
Updates to comments #2
monkins1010 Mar 24, 2026
d590abb
always use esk
monkins1010 Mar 24, 2026
07a1ce1
add keppair for DLIGHT
monkins1010 Mar 24, 2026
2a4c65e
remove console.error
monkins1010 Mar 24, 2026
722f259
remove unecessary flip
monkins1010 Mar 24, 2026
d480c9c
Fix flags
monkins1010 Mar 24, 2026
b0dab17
reversal no longer needed
monkins1010 Mar 24, 2026
06b3c8b
refactor datadescriptor encryption function
monkins1010 Mar 25, 2026
926cd78
Rename z_getencryptionaddress to zGetEncryptionAddress
monkins1010 Mar 25, 2026
3d50023
Rename z_getencryptionaddress to zGetEncryptionAddress
monkins1010 Mar 25, 2026
0dfa631
return plain and throw in zgetencryptionaddress
monkins1010 Mar 25, 2026
0d778ac
firm up testnet keygeneration selection
monkins1010 Mar 25, 2026
7314c22
Merge pull request #234 from monkins1010/add_qr_encryptionhandlers_an…
michaeltout Mar 25, 2026
bddfe0a
Add conditional for testnet/PBaaS sapling activation height in setConfig
who-biz Mar 26, 2026
8131a68
Update locked commit for 'react-native-verus'
who-biz Mar 26, 2026
984d962
Remove now unnecessary REACT_NATIVE_MAVEN_LOCAL_REPO gradle env var
who-biz Mar 26, 2026
bb224bf
Merge pull request #235 from who-biz/testnet-fixes
michaeltout Mar 26, 2026
53a003c
Merge VerusCoin generic-request-changes into redesign flow
Meyse Mar 26, 2026
2f3ffc6
Fix generic request verification flow regressions
Meyse Mar 26, 2026
ad4e3b7
Fix missing Styles import in ImportText
Meyse Mar 27, 2026
7366515
Update verus libs
michaeltout Mar 27, 2026
c053cbc
Update verus libs
michaeltout Mar 27, 2026
8d8d2d3
Address deeplink review feedback
Meyse Mar 28, 2026
c3c9b34
Unify identity content inspector UX
Meyse Mar 28, 2026
0788795
Update verus libs
Meyse Mar 29, 2026
1a9e2aa
Merge remote-tracking branch 'veruscoin/generic-request-changes' into…
Meyse Mar 29, 2026
831a772
Merge pull request #231 from Meyse/codex/ui-generic-request-redesign
michaeltout Mar 30, 2026
9f99cd1
Fix typo bug in RecoverSeedsSelectAccount
michaeltout Mar 30, 2026
605b27d
Remove unused files
michaeltout Mar 30, 2026
b604ed5
Add beginnings of encrypted key support for update identity requests
michaeltout Mar 30, 2026
32ee383
Add null-guards to invoice handling to catch invoices that accept any…
michaeltout Apr 3, 2026
dae85eb
Fix key encryption data structure
michaeltout Apr 8, 2026
2456fb5
Add option to cancel if response post fails on GenericRequestComplete
michaeltout Apr 8, 2026
dd445a2
Add API key placeholders for vrpc API
michaeltout Apr 9, 2026
b9f832a
Add z support to testnet accounts
michaeltout Apr 10, 2026
0aa09c4
Add V2API_API_KEY to config jsons
michaeltout Apr 10, 2026
8c4c34c
Prevent sign in modal from reappearing if sync fails on login
michaeltout Apr 10, 2026
0341f18
Remove typo from main.android.json
michaeltout Apr 10, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 3 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,17 +96,11 @@ echo "rust.pythonCommand=/usr/bin/python2" >> local.properties

# this will install the artifacts locally in ~/.m2/repository/com/github/VerusCoin/verus-android-sdk` etc by module
```
6. Change the last line in `~/Verus-mobile/android/gradle.properties` to match your full location of Maven artifacts
```
# Replace the last line with absolute path for maven artifacts
# Generated by `./gradlew publishToMavenLocal' called from 'verus-android-wallet-sdk` root
REACT_NATIVE_MAVEN_LOCAL_REPO=/home/<yourUserName>/.m2/repository/
```
7. Run `yarn install`
6. Run `yarn install`

8. Open a separate withdow and run `yarn start` or `npx react-native start`
7. Open a separate withdow and run `yarn start` or `npx react-native start`

9. Build and install by running `yarn android`
8. Build and install by running `yarn android`

## iOS (on macOS)

Expand Down
8 changes: 8 additions & 0 deletions android/app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="i5jtwbp6zymeay9llnraglgjqgdrffsau4"/>
<data android:scheme="i5JtwbP6zyMEAy9LLnRAGLgJQGdRFfsAu4"/>
<data android:scheme="verus"/>
<data android:scheme="verus0"/>
</intent-filter>
</activity>
<activity android:name=".SplashActivity" android:exported="true" android:screenOrientation="portrait" android:theme="@style/SplashTheme" android:label="@string/app_name">
Expand All @@ -20,4 +22,10 @@
</intent-filter>
</activity>
</application>
<queries>
<intent>
<action android:name="android.intent.action.VIEW"/>
<data android:scheme="verus1"/>
</intent>
</queries>
</manifest>
6 changes: 6 additions & 0 deletions android/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -100,3 +100,9 @@ subprojects {
}
}
}

allprojects {
repositories {
mavenLocal()
}
}
5 changes: 0 additions & 5 deletions android/gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,3 @@ org.gradle.configureondemand=true
AsyncStorage_useNextStorage=true
AsyncStorage_kotlinVersion=1.9.0
AsyncStorage_next_roomVersion=2.4.2


# Uncomment the following, replacing with absolute path for maven artifacts
# Generated by `./gradlew publishToMavenLocal' called from 'verus-android-wallet-sdk` root
REACT_NATIVE_MAVEN_LOCAL_REPO=/home/<user>/.m2/repository/
9 changes: 8 additions & 1 deletion env/main.android.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
"MIN_ETH_TX_CONFS": 100,

"ENABLE_VERUS_IDENTITIES": false,
"DISABLED_CHANNELS": [""],
"DISABLED_CHANNELS": [],
"ENABLE_DLIGHT": true,
"ENABLE_ERC20": true,
"ENABLE_ETH": true,
Expand All @@ -38,6 +38,13 @@
"ETHERSCAN_API_KEY": "PUT_KEY_HERE",
"INFURA_PROJECT_ID": "PUT_ID_HERE",

"VRPC_API_APP_ID": "verus-mobile",
"VRPC_API_KEYS": {
"1f01aabdb97cb99af911f189f6e446bc9fdcd43423eb4358c54f85a6e5fb1f74": "VERUS_SERVICES_API_KEY",
"dd5c72207c8d2513201593fe1a8d3919ca871ef9a1360f86208982ca3b58bb5f": "VERUSTEST_API_KEY",
"204165660a8e26de6d447ae98005825ade4a83f0799fcbab3a0e19d49cbe40c8": "V2API_API_KEY"
},

"USER_DATA_STORAGE_INTERNAL_KEY": "userData",
"COIN_STORAGE_INTERNAL_KEY": "activeCoins",
"SETTINGS_STORAGE_INTERNAL_KEY": "settings",
Expand Down
7 changes: 7 additions & 0 deletions env/main.ios.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,13 @@
"ETHERSCAN_API_KEY": "PUT_KEY_HERE",
"INFURA_PROJECT_ID": "PUT_ID_HERE",

"VRPC_API_APP_ID": "verus-mobile",
"VRPC_API_KEYS": {
"1f01aabdb97cb99af911f189f6e446bc9fdcd43423eb4358c54f85a6e5fb1f74": "VERUS_SERVICES_API_KEY",
"dd5c72207c8d2513201593fe1a8d3919ca871ef9a1360f86208982ca3b58bb5f": "VERUSTEST_API_KEY",
"204165660a8e26de6d447ae98005825ade4a83f0799fcbab3a0e19d49cbe40c8": "V2API_API_KEY"
},

"USER_DATA_STORAGE_INTERNAL_KEY": "userData",
"COIN_STORAGE_INTERNAL_KEY": "activeCoins",
"SETTINGS_STORAGE_INTERNAL_KEY": "settings",
Expand Down
2 changes: 1 addition & 1 deletion ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -842,7 +842,7 @@ SPEC CHECKSUMS:
react-native-randombytes: 3c8f3e89d12487fd03a2f966c288d495415fc116
react-native-safe-area-context: 17a482f540310e2209f884fd49472d9e1c0e73d6
react-native-udp: d88de32b4a2c8c4ff3f55902d77bc0df573eab5a
react-native-verus: 84dd7b2bc7736c3709d35083f388318f41045667
react-native-verus: b0c9f824fc1c785fa2b55d469956d7e3ceea11e8
React-perflogger: 0ba097528e325435aca94b32b5330f58f6acb6fb
React-RCTActionSheet: 805b3a83f3dd7ae5a1213ea9df0ed748eeb74b85
React-RCTAnimation: 2a0233681dee47e468302b8233652b35b68329cb
Expand Down
7 changes: 7 additions & 0 deletions ios/assets/env/main.json
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,13 @@
"ETHERSCAN_API_KEY": "PUT_KEY_HERE",
"INFURA_PROJECT_ID": "PUT_ID_HERE",

"VRPC_API_APP_ID": "verus-mobile",
"VRPC_API_KEYS": {
"1f01aabdb97cb99af911f189f6e446bc9fdcd43423eb4358c54f85a6e5fb1f74": "VERUS_SERVICES_API_KEY",
"dd5c72207c8d2513201593fe1a8d3919ca871ef9a1360f86208982ca3b58bb5f": "VERUSTEST_API_KEY",
"204165660a8e26de6d447ae98005825ade4a83f0799fcbab3a0e19d49cbe40c8": "V2API_API_KEY"
},

"USER_DATA_STORAGE_INTERNAL_KEY": "userData",
"COIN_STORAGE_INTERNAL_KEY": "activeCoins",
"SETTINGS_STORAGE_INTERNAL_KEY": "settings",
Expand Down
6 changes: 6 additions & 0 deletions ios/verusMobile/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@
<key>CFBundleURLSchemes</key>
<array>
<string>i5jtwbp6zymeay9llnraglgjqgdrffsau4</string>
<string>verus</string>
<string>verus0</string>
</array>
</dict>
</array>
Expand Down Expand Up @@ -78,6 +80,10 @@
<string>The app does not request this permission or utilize this functionality but it is included in our info.plist since our app utilizes the react-native-permissions library, which references this permission in its code.</string>
<key>NSSpeechRecognitionUsageDescription</key>
<string>The app does not request this permission or utilize this functionality but it is included in our info.plist since our app utilizes the react-native-permissions library, which references this permission in its code.</string>
<key>LSApplicationQueriesSchemes</key>
<array>
<string>verus1</string>
</array>
<key>UIAppFonts</key>
<array>
<string>AntDesign.ttf</string>
Expand Down
13 changes: 11 additions & 2 deletions metro.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,22 @@ module.exports = (async () => {
},
resolver: {
assetExts: assetExts.filter(ext => ext !== 'svg'),
sourceExts: [...sourceExts, 'svg'],
sourceExts: [...sourceExts, 'svg', 'cjs'],
extraNodeModules: {
crypto: require.resolve('react-native-crypto'),
path: require.resolve('path-browserify'),
stream: require.resolve('stream-browserify'),
process: require.resolve('process'),
process: require.resolve('process')
},
resolveRequest: (context, moduleName, platform) => {
if (moduleName === 'axios') {
return {
filePath: require.resolve('axios/dist/browser/axios.cjs'),
type: 'sourceFile',
};
}
return context.resolveRequest(context, moduleName, platform);
}
},
};
})();
23 changes: 15 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "verusmobile",
"version": "1.0.31",
"version": "1.0.34",
"private": true,
"scripts": {
"postinstall": "npx jetify && rm node_modules/@adraffy/ens-normalize/package.json && cp patches/@adraffy/ens-normalize/adraffy_ens_normalize_package.json node_modules/@adraffy/ens-normalize/package.json && patch-package",
Expand Down Expand Up @@ -33,7 +33,7 @@
"@tradle/react-native-http": "2.0.0",
"@xmldom/xmldom": "0.8.6",
"assert": "1.1.1",
"axios": "1.7.7",
"axios": "1.13.5",
"base-64": "1.0.0",
"base64url": "3.0.1",
"bigi": "1.4.2",
Expand Down Expand Up @@ -173,7 +173,6 @@
"hosted-git-info": "3.0.8",
"ssri": "8.0.1",
"color-string": "1.5.5",
"ajv": "6.12.3",
"hermes-engine": "0.10.0",
"logkitty": "0.7.1",
"node-notifier": "8.0.1",
Expand All @@ -192,7 +191,6 @@
"jszip": "3.8.0",
"normalize-url": "4.5.1",
"glob-parent": "5.1.2",
"axios": "1.8.2",
"lodash": "4.17.21",
"react-native": "0.71.19",
"@react-native-community/cli": "8.0.4",
Expand All @@ -214,16 +212,15 @@
"cross-fetch": "3.1.5",
"parse-link-header": "2.0.0",
"@react-native-async-storage/async-storage": "1.17.10",
"minimatch": "3.0.5",
"json5": "2.2.2",
"qs": "6.5.3",
"ua-parser-js": "0.7.33",
"http-cache-semantics": "4.1.1",
"decode-uri-component": "0.2.2",
"@sideway/formula": "3.0.1",
"@babel/core": "7.25.7",
"blake2b-wasm": "https://github.com/VerusCoin/blake2b-wasm/",
"@bitgo/blake2b-wasm": "https://github.com/VerusCoin/blake2b-wasm/",
"blake2b-wasm": "git+https://github.com/VerusCoin/blake2b-wasm.git",
"@bitgo/blake2b-wasm": "git+https://github.com/VerusCoin/blake2b-wasm.git",
"browserify-sign": "4.2.2",
"secp256k1": "3.8.1",
"form-data": "4.0.4",
Expand All @@ -232,7 +229,17 @@
"brace-expansion": "1.1.12",
"base-x": "3.0.11",
"cipher-base": "1.0.5",
"sha.js": "2.4.12"
"sha.js": "2.4.12",
"fast-xml-parser": "4.5.4",
"minimatch": "3.1.4",
"glob": "7.2.3",
"js-yaml": "3.14.1",
"ajv": "6.14.0",
"micromatch": "4.0.8",
"cross-spawn": "6.0.6",
"axios": "1.13.5",
"bn.js": "4.12.3",
"immutable": "4.3.8"
},
"jest": {
"preset": "react-native",
Expand Down
17 changes: 14 additions & 3 deletions src/actions/actions/UserData.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ import {
ERC20,
ETH,
DLIGHT_PRIVATE,
IS_PBAAS,
VRPC,
WYRE_SERVICE,
} from '../../utils/constants/intervalConstants';
Expand Down Expand Up @@ -275,9 +276,14 @@ export const authenticateAccount = async (account, password) => {
_keys[activeCoins[i].id] = {};

for (const channel of CHANNELS) {
if (
if (
(activeCoins[i].compatible_channels.includes(channel) &&
seeds[channel]) ||
(channel === DLIGHT_PRIVATE &&
seeds[DLIGHT_PRIVATE] &&
activeCoins[i].testnet &&
activeCoins[i].tags &&
activeCoins[i].tags.includes(IS_PBAAS)) ||
channel === ETH ||
channel === ERC20 ||
channel === VRPC
Expand Down Expand Up @@ -395,8 +401,13 @@ export const addKeypairs = async (
if (!seed) throw new Error('No seed found for account');

if (
coinObj.compatible_channels.includes(seedType) &&
(seedType !== DLIGHT_PRIVATE || accountSeeds[seedType])
(coinObj.compatible_channels.includes(seedType) &&
(seedType !== DLIGHT_PRIVATE || accountSeeds[seedType])) ||
(seedType === DLIGHT_PRIVATE &&
accountSeeds[DLIGHT_PRIVATE] &&
coinObj.testnet &&
coinObj.tags &&
coinObj.tags.includes(IS_PBAAS))
) {
const keyObj = await deriveKeyPair(
seed,
Expand Down
5 changes: 3 additions & 2 deletions src/actions/actions/intervals/dispatchers/IntervalCreator.js
Original file line number Diff line number Diff line change
Expand Up @@ -165,6 +165,7 @@ export const clearAllCoinIntervals = (chainTicker) => {
export const refreshCoinIntervals = (coinObj, onCompletes, updateParams, allSeenSystems = []) => {
const state = Store.getState()
const chainTicker = coinObj.id
const chainStatus = state.coins.status[chainTicker] == null ? PRE_DATA : state.coins.status[chainTicker]
const vrpcSupported = coinObj.compatible_channels.includes(VRPC)

// TODO: Channel manual enabling/disabling
Expand Down Expand Up @@ -195,7 +196,7 @@ export const refreshCoinIntervals = (coinObj, onCompletes, updateParams, allSeen
if (!coinObj) throw new Error(`${chainTicker} is not added for current user. Coins must be added to be used.`)

const updateDataAction = generateUpdateCoinDataAction(
PRE_DATA,
chainStatus,
chainTicker,
coinObj.tags,
[...DEFAULT_INTERVAL_CHANNELS, ...verusIdChannels, ...vrpcChannels],
Expand Down Expand Up @@ -279,4 +280,4 @@ export const refreshCoinIntervals = (coinObj, onCompletes, updateParams, allSeen
);
}
}
}
}
32 changes: 21 additions & 11 deletions src/actions/actions/intervals/dispatchers/lifecycleManager.js
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,31 @@ import { DEFAULT_COIN_UPDATE_PARAMS } from '../../../../utils/constants/defaultU
import { coinsList } from '../../../../utils/CoinData/CoinsList';
import { IS_PBAAS_CHAIN } from '../../../../utils/constants/currencies';

export const activateChainLifecycle = (coinObj, activeCoinsForUser) => {
const allSeenSystems = [!!(coinObj.testnet) ? coinsList.VRSCTEST.currency_id : coinsList.VRSC.currency_id];
const getAllSeenSystemsForCoin = (coinObj, activeCoinsForUser) => {
const allSeenSystems = [
coinObj.testnet ? coinsList.VRSCTEST.currency_id : coinsList.VRSC.currency_id,
];

if (coinObj.tags.includes(IS_PBAAS) && activeCoinsForUser != null) {
for (const coin of activeCoinsForUser) {
if (coin.tags.includes(IS_PBAAS) &&
!allSeenSystems.includes(coin.system_id) &&
coin.system_options != null &&
(coin.system_options & IS_PBAAS_CHAIN) === IS_PBAAS_CHAIN &&
!!(coin.testnet) === !!(coinObj.testnet)) {
allSeenSystems.push(coin.system_id);
if (
coin.tags.includes(IS_PBAAS) &&
!allSeenSystems.includes(coin.system_id) &&
coin.system_options != null &&
(coin.system_options & IS_PBAAS_CHAIN) === IS_PBAAS_CHAIN &&
!!coin.testnet === !!coinObj.testnet
) {
allSeenSystems.push(coin.system_id);
}
}
}

return allSeenSystems;
};

export const activateChainLifecycle = (coinObj, activeCoinsForUser) => {
const allSeenSystems = getAllSeenSystemsForCoin(coinObj, activeCoinsForUser);

refreshCoinIntervals(coinObj, {[API_GET_INFO]: {update_expired_oncomplete: getInfoOnComplete}}, DEFAULT_COIN_UPDATE_PARAMS, allSeenSystems)
}

Expand Down Expand Up @@ -62,12 +72,12 @@ export const getInfoOnComplete = (state, dispatch, chainTicker) => {
if (activeCoin == null) return;

const currentStatus = state.coins.status[chainTicker]
const getInfoResult = state.ledger.info[chainTicker];
const getInfoResult = state.ledger.info[DLIGHT_PRIVATE]?.[chainTicker];
const getInfoError = state.errors[API_GET_INFO][DLIGHT_PRIVATE][chainTicker];
const refresh = () =>
refreshCoinIntervals(activeCoin, {
[API_GET_INFO]: { update_expired_oncomplete: getInfoOnComplete }
});
}, DEFAULT_COIN_UPDATE_PARAMS, getAllSeenSystemsForCoin(activeCoin, state.coins.activeCoinsForUser));

if (getInfoError && getInfoError.error) return

Expand Down Expand Up @@ -95,4 +105,4 @@ export const getInfoOnComplete = (state, dispatch, chainTicker) => {
refresh();
}
}
};
};
10 changes: 7 additions & 3 deletions src/actions/actions/sendModal/dispatchers/sendModal.js
Original file line number Diff line number Diff line change
Expand Up @@ -212,14 +212,18 @@ export const openAddErc20TokenModal = (coinObj, data) => {
);
};

export const openProvisionIdentityModal = (coinObj, req, fromService = null) => {
export const openProvisionIdentityModal = (coinObj, reqOrData, fromService = null) => {
const data =
reqOrData && reqOrData.challenge != null
? { request: reqOrData, fromService }
: { ...(reqOrData || {}), fromService };

openSendModal(
`Request VerusID`,
coinObj,
null,
{
request: req,
fromService,
...data,
[SEND_MODAL_IDENTITY_TO_PROVISION_FIELD]: ''
},
PROVISION_IDENTITY_SEND_MODAL,
Expand Down
Loading