@novastera-oss/nitro-metamask 0.6.2 → 0.7.0
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/NitroMetamask.podspec +12 -3
- package/android/build.gradle +10 -13
- package/android/cargo-ecies.gradle +59 -78
- package/android/src/main/aidl/io/metamask/nativesdk/IMessegeService.aidl +8 -0
- package/android/src/main/aidl/io/metamask/nativesdk/IMessegeServiceCallback.aidl +8 -0
- package/android/src/main/java/com/margelo/nitro/nitrometamask/HybridNitroMetamask.kt +101 -3
- package/android/src/main/java/io/metamask/androidsdk/AnyRequest.kt +8 -0
- package/android/src/main/java/io/metamask/androidsdk/ClientMessageServiceCallback.kt +12 -0
- package/android/src/main/java/io/metamask/androidsdk/ClientServiceConnection.kt +42 -0
- package/android/src/main/java/io/metamask/androidsdk/CommunicationClient.kt +525 -0
- package/android/src/main/java/io/metamask/androidsdk/CommunicationClientModule.kt +47 -0
- package/android/src/main/java/io/metamask/androidsdk/CommunicationClientModuleInterface.kt +11 -0
- package/android/src/main/java/io/metamask/androidsdk/Constants.kt +5 -0
- package/android/src/main/java/io/metamask/androidsdk/Crypto.kt +35 -0
- package/android/src/main/java/io/metamask/androidsdk/DappMetadata.kt +36 -0
- package/android/src/main/java/io/metamask/androidsdk/Encryption.kt +9 -0
- package/android/src/main/java/io/metamask/androidsdk/ErrorType.kt +41 -0
- package/android/src/main/java/io/metamask/androidsdk/Ethereum.kt +328 -0
- package/android/src/main/java/io/metamask/androidsdk/EthereumEventCallback.kt +6 -0
- package/android/src/main/java/io/metamask/androidsdk/EthereumMethod.kt +80 -0
- package/android/src/main/java/io/metamask/androidsdk/EthereumRequest.kt +7 -0
- package/android/src/main/java/io/metamask/androidsdk/EthereumState.kt +7 -0
- package/android/src/main/java/io/metamask/androidsdk/KeyExchange.kt +77 -0
- package/android/src/main/java/io/metamask/androidsdk/KeyExchangeMessageType.kt +20 -0
- package/android/src/main/java/io/metamask/androidsdk/KeyStorage.kt +122 -0
- package/android/src/main/java/io/metamask/androidsdk/Logger.kt +18 -0
- package/android/src/main/java/io/metamask/androidsdk/Message.kt +3 -0
- package/android/src/main/java/io/metamask/androidsdk/MessageType.kt +11 -0
- package/android/src/main/java/io/metamask/androidsdk/OriginatorInfo.kt +12 -0
- package/android/src/main/java/io/metamask/androidsdk/RequestError.kt +8 -0
- package/android/src/main/java/io/metamask/androidsdk/RequestInfo.kt +9 -0
- package/android/src/main/java/io/metamask/androidsdk/Result.kt +11 -0
- package/android/src/main/java/io/metamask/androidsdk/RpcRequest.kt +7 -0
- package/android/src/main/java/io/metamask/androidsdk/SDKInfo.kt +6 -0
- package/android/src/main/java/io/metamask/androidsdk/SDKOptions.kt +6 -0
- package/android/src/main/java/io/metamask/androidsdk/SecureStorage.kt +9 -0
- package/android/src/main/java/io/metamask/androidsdk/SessionConfig.kt +10 -0
- package/android/src/main/java/io/metamask/androidsdk/SessionManager.kt +92 -0
- package/android/src/main/java/io/metamask/androidsdk/SubmittedRequest.kt +8 -0
- package/android/src/main/java/io/metamask/androidsdk/TimeStampGenerator.kt +7 -0
- package/android/src/main/jniLibs/arm64-v8a/libecies.so +0 -0
- package/android/src/main/jniLibs/armeabi-v7a/libecies.so +0 -0
- package/android/src/main/jniLibs/x86/libecies.so +0 -0
- package/android/src/main/jniLibs/x86_64/libecies.so +0 -0
- package/android/src/test/java/com/margelo/nitro/nitrometamask/CancellationStateMachineTest.kt +128 -0
- package/android/src/test/java/com/margelo/nitro/nitrometamask/ChainIdParsingTest.kt +65 -0
- package/android/src/test/java/com/margelo/nitro/nitrometamask/ConfigureStateMachineTest.kt +140 -0
- package/android/src/test/java/com/margelo/nitro/nitrometamask/ConnectSignJsonTest.kt +76 -0
- package/android/src/test/java/com/margelo/nitro/nitrometamask/MetaMaskInstallationCheckTest.kt +42 -0
- package/android/src/test/java/com/margelo/nitro/nitrometamask/PersonalSignParamsTest.kt +75 -0
- package/ios/Frameworks/Ecies.xcframework/Info.plist +47 -0
- package/ios/Frameworks/Ecies.xcframework/ios-arm64/Headers/ecies.h +20 -0
- package/ios/Frameworks/Ecies.xcframework/ios-arm64/Headers/module.modulemap +4 -0
- package/ios/Frameworks/Ecies.xcframework/ios-arm64/libecies.a +0 -0
- package/ios/Frameworks/Ecies.xcframework/ios-arm64-simulator/Headers/ecies.h +20 -0
- package/ios/Frameworks/Ecies.xcframework/ios-arm64-simulator/Headers/module.modulemap +4 -0
- package/ios/Frameworks/Ecies.xcframework/ios-arm64-simulator/libecies.a +0 -0
- package/ios/HybridNitroMetamask.swift +119 -54
- package/ios/NitroMetamaskTests/CancellationStateMachineTests.swift +150 -0
- package/ios/NitroMetamaskTests/ChainIdParsingTests.swift +117 -0
- package/ios/NitroMetamaskTests/ConfigureStateMachineTests.swift +174 -0
- package/ios/NitroMetamaskTests/ConnectSignJsonTests.swift +168 -0
- package/ios/NitroMetamaskTests/DefaultDappUrlTests.swift +80 -0
- package/ios/NitroMetamaskTests/PersonalSignParamsTests.swift +101 -0
- package/ios/metamask-ios-sdk/CommunicationLayer/CommClient.swift +43 -0
- package/ios/metamask-ios-sdk/CommunicationLayer/CommClientFactory.swift +17 -0
- package/ios/metamask-ios-sdk/CommunicationLayer/CommLayer.swift +36 -0
- package/ios/metamask-ios-sdk/CommunicationLayer/DeeplinkCommLayer/Deeplink.swift +26 -0
- package/ios/metamask-ios-sdk/CommunicationLayer/DeeplinkCommLayer/DeeplinkClient.swift +199 -0
- package/ios/metamask-ios-sdk/CommunicationLayer/DeeplinkCommLayer/DeeplinkManager.swift +83 -0
- package/ios/metamask-ios-sdk/CommunicationLayer/DeeplinkCommLayer/String.swift +48 -0
- package/ios/metamask-ios-sdk/CommunicationLayer/DeeplinkCommLayer/URLOpener.swift +19 -0
- package/ios/metamask-ios-sdk/CommunicationLayer/SocketClient.swift +27 -0
- package/ios/metamask-ios-sdk/Crypto/Crypto.swift +72 -0
- package/ios/metamask-ios-sdk/Crypto/Encoding.swift +15 -0
- package/ios/metamask-ios-sdk/Crypto/KeyExchange.swift +236 -0
- package/ios/metamask-ios-sdk/DeviceInfo/DeviceInfo.swift +11 -0
- package/ios/metamask-ios-sdk/Ethereum/AppMetadata.swift +28 -0
- package/ios/metamask-ios-sdk/Ethereum/ErrorType.swift +62 -0
- package/ios/metamask-ios-sdk/Ethereum/Ethereum.swift +810 -0
- package/ios/metamask-ios-sdk/Ethereum/EthereumMethod.swift +111 -0
- package/ios/metamask-ios-sdk/Ethereum/EthereumRequest.swift +40 -0
- package/ios/metamask-ios-sdk/Ethereum/EthereumWrapper.swift +10 -0
- package/ios/metamask-ios-sdk/Ethereum/RPCRequest.swift +14 -0
- package/ios/metamask-ios-sdk/Ethereum/RequestError.swift +88 -0
- package/ios/metamask-ios-sdk/Ethereum/ResponseMethod.swift +22 -0
- package/ios/metamask-ios-sdk/Ethereum/SubmitRequest.swift +26 -0
- package/ios/metamask-ios-sdk/Ethereum/TimestampGenerator.swift +16 -0
- package/ios/metamask-ios-sdk/Extensions/NSRecursiveLock.swift +14 -0
- package/ios/metamask-ios-sdk/Extensions/Notification.swift +10 -0
- package/ios/metamask-ios-sdk/Logger/Logging.swift +27 -0
- package/ios/metamask-ios-sdk/Models/AddChainParameters.swift +35 -0
- package/ios/metamask-ios-sdk/Models/Event.swift +19 -0
- package/ios/metamask-ios-sdk/Models/Mappable.swift +40 -0
- package/ios/metamask-ios-sdk/Models/NativeCurrency.swift +25 -0
- package/ios/metamask-ios-sdk/Models/OriginatorInfo.swift +26 -0
- package/ios/metamask-ios-sdk/Models/RequestInfo.swift +18 -0
- package/ios/metamask-ios-sdk/Models/SignContract.swift +48 -0
- package/ios/metamask-ios-sdk/Models/Typealiases.swift +9 -0
- package/ios/metamask-ios-sdk/Persistence/SecureStore.swift +134 -0
- package/ios/metamask-ios-sdk/Persistence/SessionConfig.swift +24 -0
- package/ios/metamask-ios-sdk/Persistence/SessionManager.swift +56 -0
- package/ios/metamask-ios-sdk/SDK/Dependencies.swift +35 -0
- package/ios/metamask-ios-sdk/SDK/MetaMaskSDK.swift +215 -0
- package/ios/metamask-ios-sdk/SDK/SDKInfo.swift +37 -0
- package/ios/metamask-ios-sdk/SDK/SDKOptions.swift +16 -0
- package/lib/commonjs/index.js +50 -3
- package/lib/commonjs/index.js.map +1 -1
- package/lib/module/index.js +49 -3
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/__tests__/parseNitroError.test.d.ts +2 -0
- package/lib/typescript/src/__tests__/parseNitroError.test.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +43 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/nitro-metamask.nitro.d.ts +34 -6
- package/lib/typescript/src/specs/nitro-metamask.nitro.d.ts.map +1 -1
- package/nitro.json +8 -2
- package/nitrogen/generated/android/NitroMetamask+autolinking.cmake +1 -1
- package/nitrogen/generated/android/NitroMetamask+autolinking.gradle +1 -1
- package/nitrogen/generated/android/NitroMetamaskOnLoad.cpp +27 -17
- package/nitrogen/generated/android/NitroMetamaskOnLoad.hpp +14 -5
- package/nitrogen/generated/android/c++/JConnectResult.hpp +2 -2
- package/nitrogen/generated/android/c++/JConnectSignResult.hpp +2 -2
- package/nitrogen/generated/android/c++/JHybridNitroMetamaskSpec.cpp +26 -25
- package/nitrogen/generated/android/c++/JHybridNitroMetamaskSpec.hpp +20 -22
- package/nitrogen/generated/android/c++/JVariant_NullType_Long.cpp +1 -1
- package/nitrogen/generated/android/c++/JVariant_NullType_Long.hpp +4 -4
- package/nitrogen/generated/android/c++/JVariant_NullType_String.cpp +1 -1
- package/nitrogen/generated/android/c++/JVariant_NullType_String.hpp +4 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrometamask/ConnectResult.kt +16 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrometamask/ConnectSignResult.kt +18 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrometamask/HybridNitroMetamaskSpec.kt +16 -19
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrometamask/NitroMetamaskOnLoad.kt +1 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrometamask/Variant_NullType_Long.kt +15 -12
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrometamask/Variant_NullType_String.kt +15 -12
- package/nitrogen/generated/ios/NitroMetamask+autolinking.rb +3 -1
- package/nitrogen/generated/ios/NitroMetamask-Swift-Cxx-Bridge.cpp +1 -1
- package/nitrogen/generated/ios/NitroMetamask-Swift-Cxx-Bridge.hpp +2 -2
- package/nitrogen/generated/ios/NitroMetamask-Swift-Cxx-Umbrella.hpp +1 -1
- package/nitrogen/generated/ios/NitroMetamaskAutolinking.mm +1 -1
- package/nitrogen/generated/ios/NitroMetamaskAutolinking.swift +9 -8
- package/nitrogen/generated/ios/c++/HybridNitroMetamaskSpecSwift.cpp +1 -1
- package/nitrogen/generated/ios/c++/HybridNitroMetamaskSpecSwift.hpp +7 -1
- package/nitrogen/generated/ios/swift/ConnectResult.swift +1 -2
- package/nitrogen/generated/ios/swift/ConnectSignResult.swift +1 -2
- package/nitrogen/generated/ios/swift/Func_void_ConnectResult.swift +1 -2
- package/nitrogen/generated/ios/swift/Func_void_ConnectSignResult.swift +1 -2
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +1 -2
- package/nitrogen/generated/ios/swift/Func_void_std__string.swift +1 -2
- package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__int64_t_.swift +1 -2
- package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__std__string_.swift +1 -2
- package/nitrogen/generated/ios/swift/HybridNitroMetamaskSpec.swift +3 -4
- package/nitrogen/generated/ios/swift/HybridNitroMetamaskSpec_cxx.swift +9 -2
- package/nitrogen/generated/ios/swift/Variant_NullType_Int64.swift +14 -2
- package/nitrogen/generated/ios/swift/Variant_NullType_String.swift +13 -1
- package/nitrogen/generated/shared/c++/ConnectResult.hpp +1 -1
- package/nitrogen/generated/shared/c++/ConnectSignResult.hpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNitroMetamaskSpec.cpp +1 -1
- package/nitrogen/generated/shared/c++/HybridNitroMetamaskSpec.hpp +1 -1
- package/package.json +18 -13
- package/rust/ecies-jni/Cargo.lock +50 -86
- package/rust/ecies-jni/Cargo.toml +1 -1
- package/rust/ecies-jni/src/lib.rs +164 -100
- package/src/__tests__/parseNitroError.test.ts +35 -0
- package/src/index.ts +53 -5
- package/src/specs/nitro-metamask.nitro.ts +34 -6
- package/scripts/verify-16k-page-alignment.py +0 -117
- package/scripts/verify-16k-page-alignment.sh +0 -5
|
@@ -1,15 +1,55 @@
|
|
|
1
|
-
import type { NitroMetamask as NitroMetamaskSpec, ConnectResult } from './specs/nitro-metamask.nitro';
|
|
1
|
+
import type { NitroMetamask as NitroMetamaskSpec, ConnectResult, ConnectSignResult } from './specs/nitro-metamask.nitro';
|
|
2
2
|
/**
|
|
3
3
|
* NitroMetamask - MetaMask connector for React Native
|
|
4
4
|
*
|
|
5
|
+
* Provides native MetaMask wallet integration via Nitro modules.
|
|
6
|
+
*
|
|
5
7
|
* @example
|
|
6
8
|
* ```ts
|
|
7
9
|
* import { NitroMetamask } from '@novastera-oss/nitro-metamask'
|
|
8
10
|
*
|
|
9
|
-
*
|
|
11
|
+
* // Optional: configure before use
|
|
12
|
+
* NitroMetamask.configure('https://yourdomain.com', 'yourscheme')
|
|
13
|
+
*
|
|
14
|
+
* // Connect wallet
|
|
15
|
+
* const { address, chainId } = await NitroMetamask.connect()
|
|
16
|
+
*
|
|
17
|
+
* // Sign a message
|
|
10
18
|
* const signature = await NitroMetamask.signMessage('Hello')
|
|
19
|
+
*
|
|
20
|
+
* // Connect and sign in one step (SIWE)
|
|
21
|
+
* const result = await NitroMetamask.connectSign('my-nonce', BigInt(Date.now()))
|
|
11
22
|
* ```
|
|
12
23
|
*/
|
|
13
24
|
export declare const NitroMetamask: NitroMetamaskSpec;
|
|
14
|
-
export type { ConnectResult, NitroMetamaskSpec };
|
|
25
|
+
export type { ConnectResult, ConnectSignResult, NitroMetamaskSpec };
|
|
26
|
+
/**
|
|
27
|
+
* Parses a structured Nitro error message that contains a numeric error code prefix.
|
|
28
|
+
*
|
|
29
|
+
* Nitro errors from the native layer are formatted as `"[<code>] <message>"`.
|
|
30
|
+
* This utility extracts the code and message so the JS layer can handle them
|
|
31
|
+
* programmatically (e.g., detecting `code: 2` for MetaMask not installed).
|
|
32
|
+
*
|
|
33
|
+
* @param e - The error to parse. Can be an `Error`, a string, or any value.
|
|
34
|
+
* @returns An object `{ code: number; message: string }` if the error message
|
|
35
|
+
* matches the `[code] message` pattern, or `null` if it does not.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* import { parseNitroError } from '@novastera-oss/nitro-metamask'
|
|
40
|
+
*
|
|
41
|
+
* try {
|
|
42
|
+
* await NitroMetamask.connect()
|
|
43
|
+
* } catch (e) {
|
|
44
|
+
* const parsed = parseNitroError(e)
|
|
45
|
+
* if (parsed?.code === 2) {
|
|
46
|
+
* // MetaMask is not installed — redirect user to App Store / Play Store
|
|
47
|
+
* }
|
|
48
|
+
* }
|
|
49
|
+
* ```
|
|
50
|
+
*/
|
|
51
|
+
export declare function parseNitroError(e: unknown): {
|
|
52
|
+
code: number;
|
|
53
|
+
message: string;
|
|
54
|
+
} | null;
|
|
15
55
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,IAAI,iBAAiB,EAClC,aAAa,EACb,iBAAiB,EAClB,MAAM,8BAA8B,CAAA;AAErC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,aAAa,mBAAsE,CAAA;AAEhG,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,CAAA;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAMpF"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { type HybridObject } from 'react-native-nitro-modules';
|
|
1
|
+
import { type HybridObject, type Int64 } from 'react-native-nitro-modules';
|
|
2
2
|
export interface ConnectResult {
|
|
3
3
|
address: string;
|
|
4
|
-
chainId:
|
|
4
|
+
chainId: Int64;
|
|
5
5
|
}
|
|
6
6
|
export interface ConnectSignResult {
|
|
7
7
|
signature: string;
|
|
8
8
|
address: string;
|
|
9
|
-
chainId:
|
|
9
|
+
chainId: Int64;
|
|
10
10
|
}
|
|
11
11
|
export interface NitroMetamask extends HybridObject<{
|
|
12
12
|
ios: 'swift';
|
|
@@ -23,17 +23,45 @@ export interface NitroMetamask extends HybridObject<{
|
|
|
23
23
|
* This is used to return to your app after MetaMask operations.
|
|
24
24
|
*/
|
|
25
25
|
configure(dappUrl?: string, deepLinkScheme?: string): void;
|
|
26
|
+
/**
|
|
27
|
+
* Connect to the user's MetaMask wallet.
|
|
28
|
+
*
|
|
29
|
+
* Opens the MetaMask app via deep link to request wallet connection.
|
|
30
|
+
* If MetaMask is not installed, the promise rejects with `code: 2`.
|
|
31
|
+
*
|
|
32
|
+
* @returns Promise resolving to a `ConnectResult` containing the wallet
|
|
33
|
+
* `address` and `chainId`.
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* const { address, chainId } = await NitroMetamask.connect()
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
26
40
|
connect(): Promise<ConnectResult>;
|
|
41
|
+
/**
|
|
42
|
+
* Request a `personal_sign` signature from the connected wallet.
|
|
43
|
+
*
|
|
44
|
+
* Must be called after a successful `connect()`. Opens MetaMask to prompt
|
|
45
|
+
* the user to sign the provided message.
|
|
46
|
+
*
|
|
47
|
+
* @param message - The plain-text message to sign.
|
|
48
|
+
* @returns Promise resolving to the hex-encoded signature string.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* const signature = await NitroMetamask.signMessage('Sign in to MyApp')
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
27
55
|
signMessage(message: string): Promise<string>;
|
|
28
56
|
/**
|
|
29
57
|
* Connect to MetaMask (if not already connected) and sign a message containing nonce and expiration.
|
|
30
58
|
* Returns the signature along with the address and chainId that were used to sign.
|
|
31
59
|
*
|
|
32
60
|
* @param nonce - A unique nonce for this signing request
|
|
33
|
-
* @param exp - Expiration timestamp (as
|
|
61
|
+
* @param exp - Expiration timestamp (as Int64)
|
|
34
62
|
* @returns Promise resolving to ConnectSignResult containing signature, address, and chainId
|
|
35
63
|
*/
|
|
36
|
-
connectSign(nonce: string, exp:
|
|
64
|
+
connectSign(nonce: string, exp: Int64): Promise<ConnectSignResult>;
|
|
37
65
|
/**
|
|
38
66
|
* Get the currently connected wallet address.
|
|
39
67
|
* Returns null if not connected.
|
|
@@ -43,6 +71,6 @@ export interface NitroMetamask extends HybridObject<{
|
|
|
43
71
|
* Get the current chain ID.
|
|
44
72
|
* Returns null if not connected.
|
|
45
73
|
*/
|
|
46
|
-
getChainId(): Promise<
|
|
74
|
+
getChainId(): Promise<Int64 | null>;
|
|
47
75
|
}
|
|
48
76
|
//# sourceMappingURL=nitro-metamask.nitro.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nitro-metamask.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/nitro-metamask.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"nitro-metamask.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/nitro-metamask.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAA;AAE1E,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,KAAK,CAAA;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,KAAK,CAAA;CACf;AAED,MAAM,WAAW,aAAc,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;IACtF;;;;;;;;;OASG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC1D;;;;;;;;;;;;;OAaG;IACH,OAAO,IAAI,OAAO,CAAC,aAAa,CAAC,CAAA;IACjC;;;;;;;;;;;;;OAaG;IACH,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC7C;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;IAClE;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACpC;;;OAGG;IACH,UAAU,IAAI,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,CAAA;CACpC"}
|
package/nitro.json
CHANGED
|
@@ -14,8 +14,14 @@
|
|
|
14
14
|
},
|
|
15
15
|
"autolinking": {
|
|
16
16
|
"NitroMetamask": {
|
|
17
|
-
"
|
|
18
|
-
|
|
17
|
+
"ios": {
|
|
18
|
+
"language": "swift",
|
|
19
|
+
"implementationClassName": "HybridNitroMetamask"
|
|
20
|
+
},
|
|
21
|
+
"android": {
|
|
22
|
+
"language": "kotlin",
|
|
23
|
+
"implementationClassName": "HybridNitroMetamask"
|
|
24
|
+
}
|
|
19
25
|
}
|
|
20
26
|
},
|
|
21
27
|
"ignorePaths": [
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# NitroMetamask+autolinking.cmake
|
|
3
3
|
# This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
# https://github.com/mrousavy/nitro
|
|
5
|
-
# Copyright ©
|
|
5
|
+
# Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
#
|
|
7
7
|
|
|
8
8
|
# This is a CMake file that adds all files generated by Nitrogen
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// NitroMetamask+autolinking.gradle
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
/// This is a Gradle file that adds all files generated by Nitrogen
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// NitroMetamaskOnLoad.cpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#ifndef BUILDING_NITROMETAMASK_WITH_GENERATED_CMAKE_PROJECT
|
|
@@ -21,24 +21,34 @@
|
|
|
21
21
|
namespace margelo::nitro::nitrometamask {
|
|
22
22
|
|
|
23
23
|
int initialize(JavaVM* vm) {
|
|
24
|
+
return facebook::jni::initialize(vm, []() {
|
|
25
|
+
::margelo::nitro::nitrometamask::registerAllNatives();
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
struct JHybridNitroMetamaskSpecImpl: public jni::JavaClass<JHybridNitroMetamaskSpecImpl, JHybridNitroMetamaskSpec::JavaPart> {
|
|
30
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitrometamask/HybridNitroMetamask;";
|
|
31
|
+
static std::shared_ptr<JHybridNitroMetamaskSpec> create() {
|
|
32
|
+
static const auto constructorFn = javaClassStatic()->getConstructor<JHybridNitroMetamaskSpecImpl::javaobject()>();
|
|
33
|
+
jni::local_ref<JHybridNitroMetamaskSpec::JavaPart> javaPart = javaClassStatic()->newObject(constructorFn);
|
|
34
|
+
return javaPart->getJHybridNitroMetamaskSpec();
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
void registerAllNatives() {
|
|
24
39
|
using namespace margelo::nitro;
|
|
25
40
|
using namespace margelo::nitro::nitrometamask;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
auto instance = object.create();
|
|
38
|
-
return instance->cthis()->shared();
|
|
39
|
-
}
|
|
40
|
-
);
|
|
41
|
-
});
|
|
41
|
+
|
|
42
|
+
// Register native JNI methods
|
|
43
|
+
margelo::nitro::nitrometamask::JHybridNitroMetamaskSpec::CxxPart::registerNatives();
|
|
44
|
+
|
|
45
|
+
// Register Nitro Hybrid Objects
|
|
46
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
47
|
+
"NitroMetamask",
|
|
48
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
49
|
+
return JHybridNitroMetamaskSpecImpl::create();
|
|
50
|
+
}
|
|
51
|
+
);
|
|
42
52
|
}
|
|
43
53
|
|
|
44
54
|
} // namespace margelo::nitro::nitrometamask
|
|
@@ -2,24 +2,33 @@
|
|
|
2
2
|
/// NitroMetamaskOnLoad.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include <jni.h>
|
|
9
|
+
#include <functional>
|
|
9
10
|
#include <NitroModules/NitroDefines.hpp>
|
|
10
11
|
|
|
11
12
|
namespace margelo::nitro::nitrometamask {
|
|
12
13
|
|
|
14
|
+
[[deprecated("Use registerNatives() instead.")]]
|
|
15
|
+
int initialize(JavaVM* vm);
|
|
16
|
+
|
|
13
17
|
/**
|
|
14
|
-
*
|
|
15
|
-
* Call this in your `JNI_OnLoad` function (probably inside `cpp-adapter.cpp`)
|
|
18
|
+
* Register the native (C++) part of NitroMetamask, and autolinks all Hybrid Objects.
|
|
19
|
+
* Call this in your `JNI_OnLoad` function (probably inside `cpp-adapter.cpp`),
|
|
20
|
+
* inside a `facebook::jni::initialize(vm, ...)` call.
|
|
16
21
|
* Example:
|
|
17
22
|
* ```cpp (cpp-adapter.cpp)
|
|
18
23
|
* JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
|
|
19
|
-
* return
|
|
24
|
+
* return facebook::jni::initialize(vm, []() {
|
|
25
|
+
* // register all NitroMetamask HybridObjects
|
|
26
|
+
* margelo::nitro::nitrometamask::registerNatives();
|
|
27
|
+
* // any other custom registrations go here.
|
|
28
|
+
* });
|
|
20
29
|
* }
|
|
21
30
|
* ```
|
|
22
31
|
*/
|
|
23
|
-
|
|
32
|
+
void registerAllNatives();
|
|
24
33
|
|
|
25
34
|
} // namespace margelo::nitro::nitrometamask
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// JConnectResult.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -21,7 +21,7 @@ namespace margelo::nitro::nitrometamask {
|
|
|
21
21
|
*/
|
|
22
22
|
struct JConnectResult final: public jni::JavaClass<JConnectResult> {
|
|
23
23
|
public:
|
|
24
|
-
static auto
|
|
24
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitrometamask/ConnectResult;";
|
|
25
25
|
|
|
26
26
|
public:
|
|
27
27
|
/**
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// JConnectSignResult.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -21,7 +21,7 @@ namespace margelo::nitro::nitrometamask {
|
|
|
21
21
|
*/
|
|
22
22
|
struct JConnectSignResult final: public jni::JavaClass<JConnectSignResult> {
|
|
23
23
|
public:
|
|
24
|
-
static auto
|
|
24
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitrometamask/ConnectSignResult;";
|
|
25
25
|
|
|
26
26
|
public:
|
|
27
27
|
/**
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// JHybridNitroMetamaskSpec.cpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "JHybridNitroMetamaskSpec.hpp"
|
|
@@ -28,30 +28,31 @@ namespace margelo::nitro::nitrometamask { struct ConnectSignResult; }
|
|
|
28
28
|
|
|
29
29
|
namespace margelo::nitro::nitrometamask {
|
|
30
30
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
});
|
|
31
|
+
std::shared_ptr<JHybridNitroMetamaskSpec> JHybridNitroMetamaskSpec::JavaPart::getJHybridNitroMetamaskSpec() {
|
|
32
|
+
auto hybridObject = JHybridObject::JavaPart::getJHybridObject();
|
|
33
|
+
auto castHybridObject = std::dynamic_pointer_cast<JHybridNitroMetamaskSpec>(hybridObject);
|
|
34
|
+
if (castHybridObject == nullptr) [[unlikely]] {
|
|
35
|
+
throw std::runtime_error("Failed to downcast JHybridObject to JHybridNitroMetamaskSpec!");
|
|
36
|
+
}
|
|
37
|
+
return castHybridObject;
|
|
39
38
|
}
|
|
40
39
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
return method(_javaPart);
|
|
40
|
+
jni::local_ref<JHybridNitroMetamaskSpec::CxxPart::jhybriddata> JHybridNitroMetamaskSpec::CxxPart::initHybrid(jni::alias_ref<jhybridobject> jThis) {
|
|
41
|
+
return makeCxxInstance(jThis);
|
|
44
42
|
}
|
|
45
43
|
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
44
|
+
std::shared_ptr<JHybridObject> JHybridNitroMetamaskSpec::CxxPart::createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) {
|
|
45
|
+
auto castJavaPart = jni::dynamic_ref_cast<JHybridNitroMetamaskSpec::JavaPart>(javaPart);
|
|
46
|
+
if (castJavaPart == nullptr) [[unlikely]] {
|
|
47
|
+
throw std::runtime_error("Failed to cast JHybridObject::JavaPart to JHybridNitroMetamaskSpec::JavaPart!");
|
|
48
|
+
}
|
|
49
|
+
return std::make_shared<JHybridNitroMetamaskSpec>(castJavaPart);
|
|
49
50
|
}
|
|
50
51
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
void JHybridNitroMetamaskSpec::CxxPart::registerNatives() {
|
|
53
|
+
registerHybrid({
|
|
54
|
+
makeNativeMethod("initHybrid", JHybridNitroMetamaskSpec::CxxPart::initHybrid),
|
|
55
|
+
});
|
|
55
56
|
}
|
|
56
57
|
|
|
57
58
|
// Properties
|
|
@@ -59,11 +60,11 @@ namespace margelo::nitro::nitrometamask {
|
|
|
59
60
|
|
|
60
61
|
// Methods
|
|
61
62
|
void JHybridNitroMetamaskSpec::configure(const std::optional<std::string>& dappUrl, const std::optional<std::string>& deepLinkScheme) {
|
|
62
|
-
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* dappUrl */, jni::alias_ref<jni::JString> /* deepLinkScheme */)>("configure");
|
|
63
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<void(jni::alias_ref<jni::JString> /* dappUrl */, jni::alias_ref<jni::JString> /* deepLinkScheme */)>("configure");
|
|
63
64
|
method(_javaPart, dappUrl.has_value() ? jni::make_jstring(dappUrl.value()) : nullptr, deepLinkScheme.has_value() ? jni::make_jstring(deepLinkScheme.value()) : nullptr);
|
|
64
65
|
}
|
|
65
66
|
std::shared_ptr<Promise<ConnectResult>> JHybridNitroMetamaskSpec::connect() {
|
|
66
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("connect");
|
|
67
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("connect");
|
|
67
68
|
auto __result = method(_javaPart);
|
|
68
69
|
return [&]() {
|
|
69
70
|
auto __promise = Promise<ConnectResult>::create();
|
|
@@ -79,7 +80,7 @@ namespace margelo::nitro::nitrometamask {
|
|
|
79
80
|
}();
|
|
80
81
|
}
|
|
81
82
|
std::shared_ptr<Promise<std::string>> JHybridNitroMetamaskSpec::signMessage(const std::string& message) {
|
|
82
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* message */)>("signMessage");
|
|
83
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* message */)>("signMessage");
|
|
83
84
|
auto __result = method(_javaPart, jni::make_jstring(message));
|
|
84
85
|
return [&]() {
|
|
85
86
|
auto __promise = Promise<std::string>::create();
|
|
@@ -95,7 +96,7 @@ namespace margelo::nitro::nitrometamask {
|
|
|
95
96
|
}();
|
|
96
97
|
}
|
|
97
98
|
std::shared_ptr<Promise<ConnectSignResult>> JHybridNitroMetamaskSpec::connectSign(const std::string& nonce, int64_t exp) {
|
|
98
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* nonce */, int64_t /* exp */)>("connectSign");
|
|
99
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<jni::JString> /* nonce */, int64_t /* exp */)>("connectSign");
|
|
99
100
|
auto __result = method(_javaPart, jni::make_jstring(nonce), exp);
|
|
100
101
|
return [&]() {
|
|
101
102
|
auto __promise = Promise<ConnectSignResult>::create();
|
|
@@ -111,7 +112,7 @@ namespace margelo::nitro::nitrometamask {
|
|
|
111
112
|
}();
|
|
112
113
|
}
|
|
113
114
|
std::shared_ptr<Promise<std::variant<nitro::NullType, std::string>>> JHybridNitroMetamaskSpec::getAddress() {
|
|
114
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getAddress");
|
|
115
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getAddress");
|
|
115
116
|
auto __result = method(_javaPart);
|
|
116
117
|
return [&]() {
|
|
117
118
|
auto __promise = Promise<std::variant<nitro::NullType, std::string>>::create();
|
|
@@ -127,7 +128,7 @@ namespace margelo::nitro::nitrometamask {
|
|
|
127
128
|
}();
|
|
128
129
|
}
|
|
129
130
|
std::shared_ptr<Promise<std::variant<nitro::NullType, int64_t>>> JHybridNitroMetamaskSpec::getChainId() {
|
|
130
|
-
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getChainId");
|
|
131
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("getChainId");
|
|
131
132
|
auto __result = method(_javaPart);
|
|
132
133
|
return [&]() {
|
|
133
134
|
auto __promise = Promise<std::variant<nitro::NullType, int64_t>>::create();
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// HybridNitroMetamaskSpec.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -18,33 +18,33 @@ namespace margelo::nitro::nitrometamask {
|
|
|
18
18
|
|
|
19
19
|
using namespace facebook;
|
|
20
20
|
|
|
21
|
-
class JHybridNitroMetamaskSpec: public
|
|
22
|
-
public virtual HybridNitroMetamaskSpec {
|
|
21
|
+
class JHybridNitroMetamaskSpec: public virtual HybridNitroMetamaskSpec, public virtual JHybridObject {
|
|
23
22
|
public:
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
HybridBase
|
|
33
|
-
|
|
23
|
+
struct JavaPart: public jni::JavaClass<JavaPart, JHybridObject::JavaPart> {
|
|
24
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitrometamask/HybridNitroMetamaskSpec;";
|
|
25
|
+
std::shared_ptr<JHybridNitroMetamaskSpec> getJHybridNitroMetamaskSpec();
|
|
26
|
+
};
|
|
27
|
+
struct CxxPart: public jni::HybridClass<CxxPart, JHybridObject::CxxPart> {
|
|
28
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitrometamask/HybridNitroMetamaskSpec$CxxPart;";
|
|
29
|
+
static jni::local_ref<jhybriddata> initHybrid(jni::alias_ref<jhybridobject> jThis);
|
|
30
|
+
static void registerNatives();
|
|
31
|
+
using HybridBase::HybridBase;
|
|
32
|
+
protected:
|
|
33
|
+
std::shared_ptr<JHybridObject> createHybridObject(const jni::local_ref<JHybridObject::JavaPart>& javaPart) override;
|
|
34
|
+
};
|
|
34
35
|
|
|
35
36
|
public:
|
|
37
|
+
explicit JHybridNitroMetamaskSpec(const jni::local_ref<JHybridNitroMetamaskSpec::JavaPart>& javaPart):
|
|
38
|
+
HybridObject(HybridNitroMetamaskSpec::TAG),
|
|
39
|
+
JHybridObject(javaPart),
|
|
40
|
+
_javaPart(jni::make_global(javaPart)) {}
|
|
36
41
|
~JHybridNitroMetamaskSpec() override {
|
|
37
42
|
// Hermes GC can destroy JS objects on a non-JNI Thread.
|
|
38
43
|
jni::ThreadScope::WithClassLoader([&] { _javaPart.reset(); });
|
|
39
44
|
}
|
|
40
45
|
|
|
41
46
|
public:
|
|
42
|
-
|
|
43
|
-
void dispose() noexcept override;
|
|
44
|
-
std::string toString() override;
|
|
45
|
-
|
|
46
|
-
public:
|
|
47
|
-
inline const jni::global_ref<JHybridNitroMetamaskSpec::javaobject>& getJavaPart() const noexcept {
|
|
47
|
+
inline const jni::global_ref<JHybridNitroMetamaskSpec::JavaPart>& getJavaPart() const noexcept {
|
|
48
48
|
return _javaPart;
|
|
49
49
|
}
|
|
50
50
|
|
|
@@ -62,9 +62,7 @@ namespace margelo::nitro::nitrometamask {
|
|
|
62
62
|
std::shared_ptr<Promise<std::variant<nitro::NullType, int64_t>>> getChainId() override;
|
|
63
63
|
|
|
64
64
|
private:
|
|
65
|
-
|
|
66
|
-
using HybridBase::HybridBase;
|
|
67
|
-
jni::global_ref<JHybridNitroMetamaskSpec::javaobject> _javaPart;
|
|
65
|
+
jni::global_ref<JHybridNitroMetamaskSpec::JavaPart> _javaPart;
|
|
68
66
|
};
|
|
69
67
|
|
|
70
68
|
} // namespace margelo::nitro::nitrometamask
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// JVariant_NullType_Long.cpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "JVariant_NullType_Long.hpp"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// JVariant_NullType_Long.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -23,7 +23,7 @@ namespace margelo::nitro::nitrometamask {
|
|
|
23
23
|
*/
|
|
24
24
|
class JVariant_NullType_Long: public jni::JavaClass<JVariant_NullType_Long> {
|
|
25
25
|
public:
|
|
26
|
-
static auto
|
|
26
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitrometamask/Variant_NullType_Long;";
|
|
27
27
|
|
|
28
28
|
static jni::local_ref<JVariant_NullType_Long> create_0(jni::alias_ref<JNull> value) {
|
|
29
29
|
static const auto method = javaClassStatic()->getStaticMethod<JVariant_NullType_Long(jni::alias_ref<JNull>)>("create");
|
|
@@ -48,7 +48,7 @@ namespace margelo::nitro::nitrometamask {
|
|
|
48
48
|
namespace JVariant_NullType_Long_impl {
|
|
49
49
|
class First final: public jni::JavaClass<First, JVariant_NullType_Long> {
|
|
50
50
|
public:
|
|
51
|
-
static auto
|
|
51
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitrometamask/Variant_NullType_Long$First;";
|
|
52
52
|
|
|
53
53
|
[[nodiscard]] jni::local_ref<JNull> getValue() const {
|
|
54
54
|
static const auto field = javaClassStatic()->getField<JNull>("value");
|
|
@@ -58,7 +58,7 @@ namespace margelo::nitro::nitrometamask {
|
|
|
58
58
|
|
|
59
59
|
class Second final: public jni::JavaClass<Second, JVariant_NullType_Long> {
|
|
60
60
|
public:
|
|
61
|
-
static auto
|
|
61
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitrometamask/Variant_NullType_Long$Second;";
|
|
62
62
|
|
|
63
63
|
[[nodiscard]] int64_t getValue() const {
|
|
64
64
|
static const auto field = javaClassStatic()->getField<int64_t>("value");
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// JVariant_NullType_String.cpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#include "JVariant_NullType_String.hpp"
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// JVariant_NullType_String.hpp
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
#pragma once
|
|
@@ -24,7 +24,7 @@ namespace margelo::nitro::nitrometamask {
|
|
|
24
24
|
*/
|
|
25
25
|
class JVariant_NullType_String: public jni::JavaClass<JVariant_NullType_String> {
|
|
26
26
|
public:
|
|
27
|
-
static auto
|
|
27
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitrometamask/Variant_NullType_String;";
|
|
28
28
|
|
|
29
29
|
static jni::local_ref<JVariant_NullType_String> create_0(jni::alias_ref<JNull> value) {
|
|
30
30
|
static const auto method = javaClassStatic()->getStaticMethod<JVariant_NullType_String(jni::alias_ref<JNull>)>("create");
|
|
@@ -49,7 +49,7 @@ namespace margelo::nitro::nitrometamask {
|
|
|
49
49
|
namespace JVariant_NullType_String_impl {
|
|
50
50
|
class First final: public jni::JavaClass<First, JVariant_NullType_String> {
|
|
51
51
|
public:
|
|
52
|
-
static auto
|
|
52
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitrometamask/Variant_NullType_String$First;";
|
|
53
53
|
|
|
54
54
|
[[nodiscard]] jni::local_ref<JNull> getValue() const {
|
|
55
55
|
static const auto field = javaClassStatic()->getField<JNull>("value");
|
|
@@ -59,7 +59,7 @@ namespace margelo::nitro::nitrometamask {
|
|
|
59
59
|
|
|
60
60
|
class Second final: public jni::JavaClass<Second, JVariant_NullType_String> {
|
|
61
61
|
public:
|
|
62
|
-
static auto
|
|
62
|
+
static constexpr auto kJavaDescriptor = "Lcom/margelo/nitro/nitrometamask/Variant_NullType_String$Second;";
|
|
63
63
|
|
|
64
64
|
[[nodiscard]] jni::local_ref<jni::JString> getValue() const {
|
|
65
65
|
static const auto field = javaClassStatic()->getField<jni::JString>("value");
|
|
@@ -2,13 +2,14 @@
|
|
|
2
2
|
/// ConnectResult.kt
|
|
3
3
|
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
4
|
/// https://github.com/mrousavy/nitro
|
|
5
|
-
/// Copyright ©
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
6
|
///
|
|
7
7
|
|
|
8
8
|
package com.margelo.nitro.nitrometamask
|
|
9
9
|
|
|
10
10
|
import androidx.annotation.Keep
|
|
11
11
|
import com.facebook.proguard.annotations.DoNotStrip
|
|
12
|
+
import java.util.Objects
|
|
12
13
|
|
|
13
14
|
|
|
14
15
|
/**
|
|
@@ -26,6 +27,20 @@ data class ConnectResult(
|
|
|
26
27
|
) {
|
|
27
28
|
/* primary constructor */
|
|
28
29
|
|
|
30
|
+
override fun equals(other: Any?): Boolean {
|
|
31
|
+
if (this === other) return true
|
|
32
|
+
if (other !is ConnectResult) return false
|
|
33
|
+
return Objects.deepEquals(this.address, other.address)
|
|
34
|
+
&& Objects.deepEquals(this.chainId, other.chainId)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
override fun hashCode(): Int {
|
|
38
|
+
return arrayOf(
|
|
39
|
+
address,
|
|
40
|
+
chainId
|
|
41
|
+
).contentDeepHashCode()
|
|
42
|
+
}
|
|
43
|
+
|
|
29
44
|
companion object {
|
|
30
45
|
/**
|
|
31
46
|
* Constructor called from C++
|