@walletconnect/react-native-compat 2.10.5-rc-57761a66 → 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 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: @react-native-community/netinfo is not available");
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.5-rc-57761a66",
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
- "module",
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
  }
@@ -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
- }
@@ -1,5 +0,0 @@
1
- RNWalletConnectModule_kotlinVersion=1.7.0
2
- RNWalletConnectModule_minSdkVersion=21
3
- RNWalletConnectModule_targetSdkVersion=31
4
- RNWalletConnectModule_compileSdkVersion=31
5
- RNWalletConnectModule_ndkversion=21.4.7075529
@@ -1,3 +0,0 @@
1
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
- package="com.walletconnect.reactnativemodule">
3
- </manifest>
@@ -1,2 +0,0 @@
1
- <manifest xmlns:android="http://schemas.android.com/apk/res/android">
2
- </manifest>
@@ -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
- }
@@ -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,7 +0,0 @@
1
- package com.walletconnect.reactnativemodule
2
-
3
- import com.facebook.react.bridge.ReactApplicationContext
4
-
5
- abstract class RNWalletConnectModuleSpec internal constructor(context: ReactApplicationContext) :
6
- NativeRNWalletConnectModuleSpec(context) {
7
- }
@@ -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,12 +0,0 @@
1
- import type { TurboModule } from "react-native";
2
- import { TurboModuleRegistry } from "react-native";
3
-
4
- export interface Spec extends TurboModule {
5
- isAppInstalled(bundleId?: string): Promise<boolean>;
6
- getConstants(): {
7
- applicationName: string;
8
- applicationId: string;
9
- };
10
- }
11
-
12
- export default TurboModuleRegistry.getEnforcing<Spec>("RNWalletConnectModule");
package/module/index.ts DELETED
@@ -1,47 +0,0 @@
1
- import { NativeModules } from "react-native";
2
-
3
- const LINKING_ERROR =
4
- `The package to get the RNWalletConnectModule doesn't seem to be linked. Make sure: \n\n` +
5
- "- You rebuilt the app after installing the package\n" +
6
- "- If you are using Expo: install expo-application \n";
7
-
8
- // @ts-expect-error
9
- const isTurboModuleEnabled = global.__turboModuleProxy != null;
10
-
11
- const RNWalletConnectModule = isTurboModuleEnabled
12
- ? require("../module/NativeRNWalletConnectModule").default
13
- : NativeModules.RNWalletConnectModule;
14
-
15
- function getExpoModule(): any | undefined {
16
- try {
17
- const ExpoApplication = require("expo-application");
18
-
19
- if (!ExpoApplication) throw new Error();
20
-
21
- return ExpoApplication;
22
- } catch {
23
- throw new Error();
24
- }
25
- }
26
-
27
- function getRNModule(): any | undefined {
28
- try {
29
- if (!RNWalletConnectModule) throw new Error();
30
- return RNWalletConnectModule;
31
- } catch {
32
- throw new Error();
33
- }
34
- }
35
-
36
- // Public
37
- export function getApplicationModule(): any | undefined {
38
- try {
39
- return getRNModule();
40
- } catch (error) {
41
- try {
42
- return getExpoModule();
43
- } catch (error) {
44
- throw new Error(LINKING_ERROR);
45
- }
46
- }
47
- }
@@ -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