@novastera-oss/nitro-metamask 0.3.3 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +45 -1
- package/android/src/main/java/com/margelo/nitro/nitrometamask/HybridNitroMetamask.kt +349 -175
- package/app.plugin.js +121 -0
- package/ios/HybridNitroMetamask.swift +71 -110
- package/lib/typescript/src/specs/nitro-metamask.nitro.d.ts +31 -6
- package/lib/typescript/src/specs/nitro-metamask.nitro.d.ts.map +1 -1
- package/nitrogen/generated/android/NitroMetamask+autolinking.cmake +2 -0
- package/nitrogen/generated/android/c++/JConnectResult.hpp +3 -3
- package/nitrogen/generated/android/c++/JConnectSignResult.hpp +65 -0
- package/nitrogen/generated/android/c++/JHybridNitroMetamaskSpec.cpp +48 -7
- package/nitrogen/generated/android/c++/JHybridNitroMetamaskSpec.hpp +4 -2
- package/nitrogen/generated/android/c++/JVariant_NullType_Long.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Long.hpp +69 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_String.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_String.hpp +70 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrometamask/ConnectResult.kt +2 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrometamask/ConnectSignResult.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrometamask/HybridNitroMetamaskSpec.kt +11 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrometamask/Variant_NullType_Long.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrometamask/Variant_NullType_String.kt +59 -0
- package/nitrogen/generated/ios/NitroMetamask-Swift-Cxx-Bridge.cpp +24 -0
- package/nitrogen/generated/ios/NitroMetamask-Swift-Cxx-Bridge.hpp +192 -0
- package/nitrogen/generated/ios/NitroMetamask-Swift-Cxx-Umbrella.hpp +5 -0
- package/nitrogen/generated/ios/c++/HybridNitroMetamaskSpecSwift.hpp +24 -3
- package/nitrogen/generated/ios/swift/ConnectResult.swift +2 -2
- package/nitrogen/generated/ios/swift/ConnectSignResult.swift +40 -0
- package/nitrogen/generated/ios/swift/Func_void_ConnectSignResult.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__int64_t_.swift +59 -0
- package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__std__string_.swift +59 -0
- package/nitrogen/generated/ios/swift/HybridNitroMetamaskSpec.swift +4 -2
- package/nitrogen/generated/ios/swift/HybridNitroMetamaskSpec_cxx.swift +67 -8
- package/nitrogen/generated/ios/swift/Variant_NullType_Int64.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_String.swift +18 -0
- package/nitrogen/generated/shared/c++/ConnectResult.hpp +5 -5
- package/nitrogen/generated/shared/c++/ConnectSignResult.hpp +91 -0
- package/nitrogen/generated/shared/c++/HybridNitroMetamaskSpec.cpp +2 -0
- package/nitrogen/generated/shared/c++/HybridNitroMetamaskSpec.hpp +9 -2
- package/package.json +3 -2
- package/src/specs/nitro-metamask.nitro.ts +32 -6
package/README.md
CHANGED
|
@@ -51,7 +51,51 @@ Add this inside your `MainActivity` `<activity>` tag:
|
|
|
51
51
|
|
|
52
52
|
### iOS Configuration
|
|
53
53
|
|
|
54
|
-
For
|
|
54
|
+
**For Expo projects:** The package includes an Expo config plugin that automatically adds the required AppDelegate code. Just add the plugin to your `app.json` or `app.config.js`:
|
|
55
|
+
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"expo": {
|
|
59
|
+
"plugins": ["@novastera-oss/nitro-metamask"]
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
The plugin will automatically:
|
|
65
|
+
- Add the `import MetaMaskSDK` statement
|
|
66
|
+
- Add the `application(_:open:options:)` method to handle MetaMask deep links
|
|
67
|
+
- Work with both Swift and Objective-C AppDelegate files
|
|
68
|
+
|
|
69
|
+
**For bare React Native projects:** Add deep link handling manually in your `AppDelegate.swift` (or `AppDelegate.m` for Objective-C):
|
|
70
|
+
|
|
71
|
+
**File:** `ios/YourAppName/AppDelegate.swift`
|
|
72
|
+
|
|
73
|
+
```swift
|
|
74
|
+
import MetaMaskSDK
|
|
75
|
+
|
|
76
|
+
// ... existing AppDelegate code ...
|
|
77
|
+
|
|
78
|
+
// Handle deep links from MetaMask wallet
|
|
79
|
+
// MetaMask returns to the app via deep link after signing/connecting
|
|
80
|
+
func application(
|
|
81
|
+
_ app: UIApplication,
|
|
82
|
+
open url: URL,
|
|
83
|
+
options: [UIApplication.OpenURLOptionsKey: Any] = [:]
|
|
84
|
+
) -> Bool {
|
|
85
|
+
// Check if this is a MetaMask deep link (host="mmsdk")
|
|
86
|
+
if let components = URLComponents(url: url, resolvingAgainstBaseURL: true),
|
|
87
|
+
components.host == "mmsdk" {
|
|
88
|
+
// Handle MetaMask deep link return
|
|
89
|
+
MetaMaskSDK.shared.handleUrl(url)
|
|
90
|
+
return true
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// Handle other deep links (e.g., React Native Linking)
|
|
94
|
+
return false
|
|
95
|
+
}
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
**Info.plist:** The URL scheme is automatically detected from your `Info.plist` `CFBundleURLSchemes` configuration. Ensure you have a URL scheme configured (e.g., `nitrometamask`).
|
|
55
99
|
|
|
56
100
|
## Usage
|
|
57
101
|
|