@walletconnect/react-native-compat 2.10.5-rc-e12288e → 2.10.6-rc-c71c3b7.0
Sign up to get free protection for your applications and to get access to all the features.
- package/index.js +1 -20
- package/package.json +2 -28
- package/android/build.gradle +0 -120
- package/android/gradle.properties +0 -5
- package/android/src/main/AndroidManifest.xml +0 -3
- package/android/src/main/AndroidManifestNew.xml +0 -2
- package/android/src/main/java/com/walletconnect/reactnativemodule/RNWalletConnectModuleModule.kt +0 -55
- package/android/src/main/java/com/walletconnect/reactnativemodule/RNWalletConnectModulePackage.kt +0 -35
- package/android/src/newarch/RNWalletConnectModuleSpec.kt +0 -7
- package/android/src/oldarch/RNWalletConnectModuleSpec.kt +0 -17
- package/ios/RNWalletConnectModule.h +0 -12
- package/ios/RNWalletConnectModule.mm +0 -55
- package/react-native-compat.podspec +0 -41
package/index.js
CHANGED
@@ -1,5 +1,3 @@
|
|
1
|
-
import { getApplicationModule } from "./module";
|
2
|
-
|
3
1
|
// Polyfill TextEncode / TextDecode
|
4
2
|
import "fast-text-encoding";
|
5
3
|
|
@@ -37,23 +35,6 @@ if (typeof global?.NetInfo === "undefined") {
|
|
37
35
|
global.NetInfo = require("@react-native-community/netinfo");
|
38
36
|
} catch (e) {
|
39
37
|
// eslint-disable-next-line no-console
|
40
|
-
console.error("react-native-compat:
|
41
|
-
}
|
42
|
-
}
|
43
|
-
|
44
|
-
if (typeof global?.Application === "undefined") {
|
45
|
-
try {
|
46
|
-
const module = getApplicationModule();
|
47
|
-
if (typeof module.getConstants === "function") {
|
48
|
-
global.Application = {
|
49
|
-
...module.getConstants(),
|
50
|
-
isAppInstalled: module.isAppInstalled,
|
51
|
-
};
|
52
|
-
} else {
|
53
|
-
global.Application = module;
|
54
|
-
}
|
55
|
-
} catch (e) {
|
56
|
-
// eslint-disable-next-line no-console
|
57
|
-
console.error("react-native-compat: Application module is not available");
|
38
|
+
console.error("react-native-compat: react-native.NetInfo is not available", e);
|
58
39
|
}
|
59
40
|
}
|
package/package.json
CHANGED
@@ -1,28 +1,13 @@
|
|
1
1
|
{
|
2
2
|
"name": "@walletconnect/react-native-compat",
|
3
3
|
"description": "Shims for WalletConnect Protocol in React Native Projects",
|
4
|
-
"version": "2.10.
|
4
|
+
"version": "2.10.6-rc-c71c3b7.0",
|
5
5
|
"author": "WalletConnect, Inc. <walletconnect.com>",
|
6
6
|
"homepage": "https://github.com/walletconnect/walletconnect-monorepo/",
|
7
7
|
"license": "Apache-2.0",
|
8
8
|
"main": "index.js",
|
9
9
|
"files": [
|
10
|
-
"dist"
|
11
|
-
"android",
|
12
|
-
"ios",
|
13
|
-
"modules",
|
14
|
-
"cpp",
|
15
|
-
"*.podspec",
|
16
|
-
"!ios/build",
|
17
|
-
"!android/build",
|
18
|
-
"!android/gradle",
|
19
|
-
"!android/gradlew",
|
20
|
-
"!android/gradlew.bat",
|
21
|
-
"!android/local.properties",
|
22
|
-
"!**/__tests__",
|
23
|
-
"!**/__fixtures__",
|
24
|
-
"!**/__mocks__",
|
25
|
-
"!**/.*"
|
10
|
+
"dist"
|
26
11
|
],
|
27
12
|
"keywords": [
|
28
13
|
"wallet",
|
@@ -43,17 +28,6 @@
|
|
43
28
|
"peerDependencies": {
|
44
29
|
"@react-native-async-storage/async-storage": "*",
|
45
30
|
"@react-native-community/netinfo": "*",
|
46
|
-
"expo-application": "*",
|
47
31
|
"react-native-get-random-values": "*"
|
48
|
-
},
|
49
|
-
"peerDependenciesMeta": {
|
50
|
-
"expo-application": {
|
51
|
-
"optional": true
|
52
|
-
}
|
53
|
-
},
|
54
|
-
"codegenConfig": {
|
55
|
-
"name": "RNRNWalletConnectModuleSpec",
|
56
|
-
"type": "modules",
|
57
|
-
"jsSrcsDir": "."
|
58
32
|
}
|
59
33
|
}
|
package/android/build.gradle
DELETED
@@ -1,120 +0,0 @@
|
|
1
|
-
buildscript {
|
2
|
-
// Buildscript is evaluated before everything else so we can't use getExtOrDefault
|
3
|
-
def kotlin_version = rootProject.ext.has("kotlinVersion") ? rootProject.ext.get("kotlinVersion") : project.properties["RNWalletConnectModule_kotlinVersion"]
|
4
|
-
|
5
|
-
repositories {
|
6
|
-
google()
|
7
|
-
mavenCentral()
|
8
|
-
}
|
9
|
-
|
10
|
-
dependencies {
|
11
|
-
classpath "com.android.tools.build:gradle:7.2.1"
|
12
|
-
// noinspection DifferentKotlinGradleVersion
|
13
|
-
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
14
|
-
}
|
15
|
-
}
|
16
|
-
|
17
|
-
def isNewArchitectureEnabled() {
|
18
|
-
return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true"
|
19
|
-
}
|
20
|
-
|
21
|
-
apply plugin: "com.android.library"
|
22
|
-
apply plugin: "kotlin-android"
|
23
|
-
|
24
|
-
if (isNewArchitectureEnabled()) {
|
25
|
-
apply plugin: "com.facebook.react"
|
26
|
-
}
|
27
|
-
|
28
|
-
def getExtOrDefault(name) {
|
29
|
-
return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["RNWalletConnectModule_" + name]
|
30
|
-
}
|
31
|
-
|
32
|
-
def getExtOrIntegerDefault(name) {
|
33
|
-
return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["RNWalletConnectModule_" + name]).toInteger()
|
34
|
-
}
|
35
|
-
|
36
|
-
def supportsNamespace() {
|
37
|
-
def parsed = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')
|
38
|
-
def major = parsed[0].toInteger()
|
39
|
-
def minor = parsed[1].toInteger()
|
40
|
-
|
41
|
-
// Namespace support was added in 7.3.0
|
42
|
-
return (major == 7 && minor >= 3) || major >= 8
|
43
|
-
}
|
44
|
-
|
45
|
-
android {
|
46
|
-
if (supportsNamespace()) {
|
47
|
-
namespace "com.walletconnect.reactnativemodule"
|
48
|
-
|
49
|
-
sourceSets {
|
50
|
-
main {
|
51
|
-
manifest.srcFile "src/main/AndroidManifestNew.xml"
|
52
|
-
}
|
53
|
-
}
|
54
|
-
}
|
55
|
-
|
56
|
-
compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
|
57
|
-
|
58
|
-
defaultConfig {
|
59
|
-
minSdkVersion getExtOrIntegerDefault("minSdkVersion")
|
60
|
-
targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
|
61
|
-
buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
|
62
|
-
|
63
|
-
}
|
64
|
-
|
65
|
-
buildFeatures {
|
66
|
-
buildConfig true
|
67
|
-
}
|
68
|
-
|
69
|
-
buildTypes {
|
70
|
-
release {
|
71
|
-
minifyEnabled false
|
72
|
-
}
|
73
|
-
}
|
74
|
-
|
75
|
-
lintOptions {
|
76
|
-
disable "GradleCompatible"
|
77
|
-
}
|
78
|
-
|
79
|
-
compileOptions {
|
80
|
-
sourceCompatibility JavaVersion.VERSION_1_8
|
81
|
-
targetCompatibility JavaVersion.VERSION_1_8
|
82
|
-
}
|
83
|
-
|
84
|
-
sourceSets {
|
85
|
-
main {
|
86
|
-
if (isNewArchitectureEnabled()) {
|
87
|
-
java.srcDirs += [
|
88
|
-
"src/newarch",
|
89
|
-
// This is needed to build Kotlin project with NewArch enabled
|
90
|
-
"${project.buildDir}/generated/source/codegen/java"
|
91
|
-
]
|
92
|
-
} else {
|
93
|
-
java.srcDirs += ["src/oldarch"]
|
94
|
-
}
|
95
|
-
}
|
96
|
-
}
|
97
|
-
}
|
98
|
-
|
99
|
-
repositories {
|
100
|
-
mavenCentral()
|
101
|
-
google()
|
102
|
-
}
|
103
|
-
|
104
|
-
def kotlin_version = getExtOrDefault("kotlinVersion")
|
105
|
-
|
106
|
-
dependencies {
|
107
|
-
// For < 0.71, this will be from the local maven repo
|
108
|
-
// For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
|
109
|
-
//noinspection GradleDynamicVersion
|
110
|
-
implementation "com.facebook.react:react-native:+"
|
111
|
-
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
|
112
|
-
}
|
113
|
-
|
114
|
-
if (isNewArchitectureEnabled()) {
|
115
|
-
react {
|
116
|
-
jsRootDir = file("../src/")
|
117
|
-
libraryName = "RNWalletConnectModule"
|
118
|
-
codegenJavaPackageName = "com.walletconnect.reactnativemodule"
|
119
|
-
}
|
120
|
-
}
|
package/android/src/main/java/com/walletconnect/reactnativemodule/RNWalletConnectModuleModule.kt
DELETED
@@ -1,55 +0,0 @@
|
|
1
|
-
package com.walletconnect.reactnativemodule
|
2
|
-
|
3
|
-
import com.facebook.react.bridge.ReactApplicationContext
|
4
|
-
import com.facebook.react.bridge.ReactMethod
|
5
|
-
import com.facebook.react.bridge.Promise
|
6
|
-
import android.content.pm.PackageManager
|
7
|
-
|
8
|
-
class RNWalletConnectModuleModule internal constructor(context: ReactApplicationContext) :
|
9
|
-
RNWalletConnectModuleSpec(context) {
|
10
|
-
|
11
|
-
override fun getName(): String {
|
12
|
-
return NAME
|
13
|
-
}
|
14
|
-
|
15
|
-
override protected fun getTypedExportedConstants(): Map<String, String> {
|
16
|
-
var appName: String
|
17
|
-
|
18
|
-
try {
|
19
|
-
appName = getReactApplicationContext().getApplicationInfo()
|
20
|
-
.loadLabel(getReactApplicationContext().getPackageManager()).toString()
|
21
|
-
} catch (e: Exception) {
|
22
|
-
appName = "unknown"
|
23
|
-
}
|
24
|
-
|
25
|
-
val constants: MutableMap<String, String> = HashMap()
|
26
|
-
constants.put("applicationId", getReactApplicationContext().getPackageName());
|
27
|
-
constants.put("applicationName", appName);
|
28
|
-
return constants
|
29
|
-
}
|
30
|
-
|
31
|
-
@ReactMethod
|
32
|
-
override fun isAppInstalled(packageName: String?, promise: Promise) {
|
33
|
-
try {
|
34
|
-
val installed = packageName?.let { isPackageInstalled(it) } ?: false
|
35
|
-
promise.resolve(installed)
|
36
|
-
} catch (e: Exception) {
|
37
|
-
promise.resolve(false)
|
38
|
-
}
|
39
|
-
}
|
40
|
-
|
41
|
-
private fun isPackageInstalled(packageName: String): Boolean {
|
42
|
-
val manager: PackageManager = getReactApplicationContext().getPackageManager()
|
43
|
-
return try {
|
44
|
-
@Suppress("DEPRECATION")
|
45
|
-
manager.getPackageInfo(packageName, 0)
|
46
|
-
true
|
47
|
-
} catch (e: PackageManager.NameNotFoundException) {
|
48
|
-
false
|
49
|
-
}
|
50
|
-
}
|
51
|
-
|
52
|
-
companion object {
|
53
|
-
const val NAME = "RNWalletConnectModule"
|
54
|
-
}
|
55
|
-
}
|
package/android/src/main/java/com/walletconnect/reactnativemodule/RNWalletConnectModulePackage.kt
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
package com.walletconnect.reactnativemodule
|
2
|
-
|
3
|
-
import com.facebook.react.TurboReactPackage
|
4
|
-
import com.facebook.react.bridge.ReactApplicationContext
|
5
|
-
import com.facebook.react.bridge.NativeModule
|
6
|
-
import com.facebook.react.module.model.ReactModuleInfoProvider
|
7
|
-
import com.facebook.react.module.model.ReactModuleInfo
|
8
|
-
import java.util.HashMap
|
9
|
-
|
10
|
-
class RNWalletConnectModulePackage : TurboReactPackage() {
|
11
|
-
override fun getModule(name: String, reactContext: ReactApplicationContext): NativeModule? {
|
12
|
-
return if (name == RNWalletConnectModuleModule.NAME) {
|
13
|
-
RNWalletConnectModuleModule(reactContext)
|
14
|
-
} else {
|
15
|
-
null
|
16
|
-
}
|
17
|
-
}
|
18
|
-
|
19
|
-
override fun getReactModuleInfoProvider(): ReactModuleInfoProvider {
|
20
|
-
return ReactModuleInfoProvider {
|
21
|
-
val moduleInfos: MutableMap<String, ReactModuleInfo> = HashMap()
|
22
|
-
val isTurboModule: Boolean = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED
|
23
|
-
moduleInfos[RNWalletConnectModuleModule.NAME] = ReactModuleInfo(
|
24
|
-
RNWalletConnectModuleModule.NAME,
|
25
|
-
RNWalletConnectModuleModule.NAME,
|
26
|
-
false, // canOverrideExistingModule
|
27
|
-
false, // needsEagerInit
|
28
|
-
true, // hasConstants
|
29
|
-
false, // isCxxModule
|
30
|
-
isTurboModule // isTurboModule
|
31
|
-
)
|
32
|
-
moduleInfos
|
33
|
-
}
|
34
|
-
}
|
35
|
-
}
|
@@ -1,17 +0,0 @@
|
|
1
|
-
package com.walletconnect.reactnativemodule
|
2
|
-
|
3
|
-
import com.facebook.react.bridge.ReactApplicationContext
|
4
|
-
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
5
|
-
import com.facebook.react.bridge.Promise
|
6
|
-
|
7
|
-
abstract class RNWalletConnectModuleSpec internal constructor(context: ReactApplicationContext) :
|
8
|
-
ReactContextBaseJavaModule(context) {
|
9
|
-
|
10
|
-
abstract fun isAppInstalled(packageName: String?, promise: Promise);
|
11
|
-
protected abstract fun getTypedExportedConstants(): Map<String, String>
|
12
|
-
|
13
|
-
override fun getConstants(): Map<String, String> {
|
14
|
-
val constants: Map<String, String> = getTypedExportedConstants()
|
15
|
-
return constants
|
16
|
-
}
|
17
|
-
}
|
@@ -1,12 +0,0 @@
|
|
1
|
-
|
2
|
-
#ifdef RCT_NEW_ARCH_ENABLED
|
3
|
-
#import "RNRNWalletConnectModuleSpec.h"
|
4
|
-
|
5
|
-
@interface RNWalletConnectModule : NSObject <NativeRNWalletConnectModuleSpec>
|
6
|
-
#else
|
7
|
-
#import <React/RCTBridgeModule.h>
|
8
|
-
|
9
|
-
@interface RNWalletConnectModule : NSObject <RCTBridgeModule>
|
10
|
-
#endif
|
11
|
-
|
12
|
-
@end
|
@@ -1,55 +0,0 @@
|
|
1
|
-
#import "RNWalletConnectModule.h"
|
2
|
-
|
3
|
-
@implementation RNWalletConnectModule
|
4
|
-
RCT_EXPORT_MODULE()
|
5
|
-
|
6
|
-
RCT_EXPORT_METHOD(isAppInstalled:(NSString *)bundleID
|
7
|
-
resolve:(RCTPromiseResolveBlock)resolve
|
8
|
-
reject:(RCTPromiseRejectBlock)reject)
|
9
|
-
{
|
10
|
-
BOOL result = [self checkAppInstalled:bundleID];
|
11
|
-
resolve(@(result));
|
12
|
-
}
|
13
|
-
|
14
|
-
+ (BOOL)requiresMainQueueSetup
|
15
|
-
{
|
16
|
-
return NO;
|
17
|
-
}
|
18
|
-
|
19
|
-
- (NSDictionary *)constantsToExport
|
20
|
-
{
|
21
|
-
return @{
|
22
|
-
@"applicationName": [self getAppName],
|
23
|
-
@"applicationId": [self getBundleId],
|
24
|
-
};
|
25
|
-
}
|
26
|
-
|
27
|
-
- (NSString *) getAppName {
|
28
|
-
NSString *displayName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDisplayName"];
|
29
|
-
NSString *bundleName = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleName"];
|
30
|
-
return displayName ? displayName : bundleName;
|
31
|
-
}
|
32
|
-
|
33
|
-
- (NSString *) getBundleId {
|
34
|
-
return [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleIdentifier"];
|
35
|
-
}
|
36
|
-
|
37
|
-
- (BOOL)checkAppInstalled:(NSString *)bundleID {
|
38
|
-
NSURL *appURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@://", bundleID]];
|
39
|
-
return [[UIApplication sharedApplication] canOpenURL:appURL];
|
40
|
-
}
|
41
|
-
|
42
|
-
- (NSDictionary *)getConstants {
|
43
|
-
return [self constantsToExport];
|
44
|
-
}
|
45
|
-
|
46
|
-
// Don't compile this code when we build for the old architecture.
|
47
|
-
#ifdef RCT_NEW_ARCH_ENABLED
|
48
|
-
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
49
|
-
(const facebook::react::ObjCTurboModule::InitParams &)params
|
50
|
-
{
|
51
|
-
return std::make_shared<facebook::react::NativeRNWalletConnectModuleSpecJSI>(params);
|
52
|
-
}
|
53
|
-
#endif
|
54
|
-
|
55
|
-
@end
|
@@ -1,41 +0,0 @@
|
|
1
|
-
require "json"
|
2
|
-
|
3
|
-
package = JSON.parse(File.read(File.join(__dir__, "package.json")))
|
4
|
-
folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
|
5
|
-
|
6
|
-
Pod::Spec.new do |s|
|
7
|
-
s.name = "react-native-compat"
|
8
|
-
s.version = package["version"]
|
9
|
-
s.summary = package["description"]
|
10
|
-
s.homepage = package["homepage"]
|
11
|
-
s.license = package["license"]
|
12
|
-
s.authors = package["author"]
|
13
|
-
|
14
|
-
s.platforms = { :ios => "11.0" }
|
15
|
-
s.source = { :git => "https://github.com/walletconnect/walletconnect-monorepo.git", :tag => "#{s.version}" }
|
16
|
-
|
17
|
-
s.source_files = "ios/**/*.{h,m,mm}"
|
18
|
-
|
19
|
-
# Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
|
20
|
-
# See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
|
21
|
-
if respond_to?(:install_modules_dependencies, true)
|
22
|
-
install_modules_dependencies(s)
|
23
|
-
else
|
24
|
-
s.dependency "React-Core"
|
25
|
-
|
26
|
-
# Don't install the dependencies when we run `pod install` in the old architecture.
|
27
|
-
if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
|
28
|
-
s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1"
|
29
|
-
s.pod_target_xcconfig = {
|
30
|
-
"HEADER_SEARCH_PATHS" => "\"$(PODS_ROOT)/boost\"",
|
31
|
-
"OTHER_CPLUSPLUSFLAGS" => "-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1",
|
32
|
-
"CLANG_CXX_LANGUAGE_STANDARD" => "c++17"
|
33
|
-
}
|
34
|
-
s.dependency "React-Codegen"
|
35
|
-
s.dependency "RCT-Folly"
|
36
|
-
s.dependency "RCTRequired"
|
37
|
-
s.dependency "RCTTypeSafety"
|
38
|
-
s.dependency "ReactCommon/turbomodule/core"
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|