mirror of
https://github.com/cake-tech/cake_wallet.git
synced 2025-01-25 20:16:05 +00:00
cw_shared_external
This commit is contained in:
parent
40de909f8f
commit
44c7de72e5
21 changed files with 420 additions and 1 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -111,7 +111,7 @@ ios/build
|
||||||
*.sublime-project
|
*.sublime-project
|
||||||
|
|
||||||
shared_external/**
|
shared_external/**
|
||||||
cw_shared_external/**
|
cw_shared_external/ios/External/
|
||||||
# cw_haven/**
|
# cw_haven/**
|
||||||
cw_haven/ios/External/
|
cw_haven/ios/External/
|
||||||
cw_haven/android/.externalNativeBuild/
|
cw_haven/android/.externalNativeBuild/
|
||||||
|
|
7
cw_shared_external/.gitignore
vendored
Normal file
7
cw_shared_external/.gitignore
vendored
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
.DS_Store
|
||||||
|
.dart_tool/
|
||||||
|
|
||||||
|
.packages
|
||||||
|
.pub/
|
||||||
|
|
||||||
|
build/
|
10
cw_shared_external/.metadata
Normal file
10
cw_shared_external/.metadata
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
# This file tracks properties of this Flutter project.
|
||||||
|
# Used by Flutter tool to assess capabilities and perform upgrades etc.
|
||||||
|
#
|
||||||
|
# This file should be version controlled and should not be manually edited.
|
||||||
|
|
||||||
|
version:
|
||||||
|
revision: 4d7946a68d26794349189cf21b3f68cc6fe61dcb
|
||||||
|
channel: stable
|
||||||
|
|
||||||
|
project_type: plugin
|
1
cw_shared_external/LICENSE
Normal file
1
cw_shared_external/LICENSE
Normal file
|
@ -0,0 +1 @@
|
||||||
|
TODO: Add your license here.
|
7
cw_shared_external/README.md
Normal file
7
cw_shared_external/README.md
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
# cw_shared_external
|
||||||
|
|
||||||
|
Part of Cake Wallet. Shared external libraries for cw_monero and cw_haven.
|
||||||
|
Libraries:
|
||||||
|
- Boost
|
||||||
|
- OpenSSL
|
||||||
|
- Sodium
|
8
cw_shared_external/android/.gitignore
vendored
Normal file
8
cw_shared_external/android/.gitignore
vendored
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
*.iml
|
||||||
|
.gradle
|
||||||
|
/local.properties
|
||||||
|
/.idea/workspace.xml
|
||||||
|
/.idea/libraries
|
||||||
|
.DS_Store
|
||||||
|
/build
|
||||||
|
/captures
|
40
cw_shared_external/android/build.gradle
Normal file
40
cw_shared_external/android/build.gradle
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
group 'com.cakewallet.cw_shared_external'
|
||||||
|
version '1.0-SNAPSHOT'
|
||||||
|
|
||||||
|
buildscript {
|
||||||
|
ext.kotlin_version = '1.3.50'
|
||||||
|
repositories {
|
||||||
|
google()
|
||||||
|
jcenter()
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
classpath 'com.android.tools.build:gradle:4.1.0'
|
||||||
|
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
rootProject.allprojects {
|
||||||
|
repositories {
|
||||||
|
google()
|
||||||
|
jcenter()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
apply plugin: 'com.android.library'
|
||||||
|
apply plugin: 'kotlin-android'
|
||||||
|
|
||||||
|
android {
|
||||||
|
compileSdkVersion 30
|
||||||
|
|
||||||
|
sourceSets {
|
||||||
|
main.java.srcDirs += 'src/main/kotlin'
|
||||||
|
}
|
||||||
|
defaultConfig {
|
||||||
|
minSdkVersion 16
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
|
||||||
|
}
|
3
cw_shared_external/android/gradle.properties
Normal file
3
cw_shared_external/android/gradle.properties
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
org.gradle.jvmargs=-Xmx1536M
|
||||||
|
android.useAndroidX=true
|
||||||
|
android.enableJetifier=true
|
5
cw_shared_external/android/gradle/wrapper/gradle-wrapper.properties
vendored
Normal file
5
cw_shared_external/android/gradle/wrapper/gradle-wrapper.properties
vendored
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
distributionBase=GRADLE_USER_HOME
|
||||||
|
distributionPath=wrapper/dists
|
||||||
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
|
zipStorePath=wrapper/dists
|
||||||
|
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip
|
1
cw_shared_external/android/settings.gradle
Normal file
1
cw_shared_external/android/settings.gradle
Normal file
|
@ -0,0 +1 @@
|
||||||
|
rootProject.name = 'cw_shared_external'
|
3
cw_shared_external/android/src/main/AndroidManifest.xml
Normal file
3
cw_shared_external/android/src/main/AndroidManifest.xml
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||||
|
package="com.cakewallet.cw_shared_external">
|
||||||
|
</manifest>
|
|
@ -0,0 +1,36 @@
|
||||||
|
package com.cakewallet.cw_shared_external
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull
|
||||||
|
|
||||||
|
import io.flutter.embedding.engine.plugins.FlutterPlugin
|
||||||
|
import io.flutter.plugin.common.MethodCall
|
||||||
|
import io.flutter.plugin.common.MethodChannel
|
||||||
|
import io.flutter.plugin.common.MethodChannel.MethodCallHandler
|
||||||
|
import io.flutter.plugin.common.MethodChannel.Result
|
||||||
|
import io.flutter.plugin.common.PluginRegistry.Registrar
|
||||||
|
|
||||||
|
/** CwSharedExternalPlugin */
|
||||||
|
class CwSharedExternalPlugin: FlutterPlugin, MethodCallHandler {
|
||||||
|
/// The MethodChannel that will the communication between Flutter and native Android
|
||||||
|
///
|
||||||
|
/// This local reference serves to register the plugin with the Flutter Engine and unregister it
|
||||||
|
/// when the Flutter Engine is detached from the Activity
|
||||||
|
private lateinit var channel : MethodChannel
|
||||||
|
|
||||||
|
override fun onAttachedToEngine(@NonNull flutterPluginBinding: FlutterPlugin.FlutterPluginBinding) {
|
||||||
|
channel = MethodChannel(flutterPluginBinding.binaryMessenger, "cw_shared_external")
|
||||||
|
channel.setMethodCallHandler(this)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onMethodCall(@NonNull call: MethodCall, @NonNull result: Result) {
|
||||||
|
if (call.method == "getPlatformVersion") {
|
||||||
|
result.success("Android ${android.os.Build.VERSION.RELEASE}")
|
||||||
|
} else {
|
||||||
|
result.notImplemented()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun onDetachedFromEngine(@NonNull binding: FlutterPlugin.FlutterPluginBinding) {
|
||||||
|
channel.setMethodCallHandler(null)
|
||||||
|
}
|
||||||
|
}
|
37
cw_shared_external/ios/.gitignore
vendored
Normal file
37
cw_shared_external/ios/.gitignore
vendored
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
.idea/
|
||||||
|
.vagrant/
|
||||||
|
.sconsign.dblite
|
||||||
|
.svn/
|
||||||
|
|
||||||
|
.DS_Store
|
||||||
|
*.swp
|
||||||
|
profile
|
||||||
|
|
||||||
|
DerivedData/
|
||||||
|
build/
|
||||||
|
GeneratedPluginRegistrant.h
|
||||||
|
GeneratedPluginRegistrant.m
|
||||||
|
|
||||||
|
.generated/
|
||||||
|
|
||||||
|
*.pbxuser
|
||||||
|
*.mode1v3
|
||||||
|
*.mode2v3
|
||||||
|
*.perspectivev3
|
||||||
|
|
||||||
|
!default.pbxuser
|
||||||
|
!default.mode1v3
|
||||||
|
!default.mode2v3
|
||||||
|
!default.perspectivev3
|
||||||
|
|
||||||
|
xcuserdata
|
||||||
|
|
||||||
|
*.moved-aside
|
||||||
|
|
||||||
|
*.pyc
|
||||||
|
*sync/
|
||||||
|
Icon?
|
||||||
|
.tags*
|
||||||
|
|
||||||
|
/Flutter/Generated.xcconfig
|
||||||
|
/Flutter/flutter_export_environment.sh
|
0
cw_shared_external/ios/Assets/.gitkeep
Normal file
0
cw_shared_external/ios/Assets/.gitkeep
Normal file
4
cw_shared_external/ios/Classes/CwSharedExternalPlugin.h
Normal file
4
cw_shared_external/ios/Classes/CwSharedExternalPlugin.h
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
#import <Flutter/Flutter.h>
|
||||||
|
|
||||||
|
@interface CwSharedExternalPlugin : NSObject<FlutterPlugin>
|
||||||
|
@end
|
15
cw_shared_external/ios/Classes/CwSharedExternalPlugin.m
Normal file
15
cw_shared_external/ios/Classes/CwSharedExternalPlugin.m
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
#import "CwSharedExternalPlugin.h"
|
||||||
|
#if __has_include(<cw_shared_external/cw_shared_external-Swift.h>)
|
||||||
|
#import <cw_shared_external/cw_shared_external-Swift.h>
|
||||||
|
#else
|
||||||
|
// Support project import fallback if the generated compatibility header
|
||||||
|
// is not copied when this plugin is created as a library.
|
||||||
|
// https://forums.swift.org/t/swift-static-libraries-dont-copy-generated-objective-c-header/19816
|
||||||
|
#import "cw_shared_external-Swift.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
@implementation CwSharedExternalPlugin
|
||||||
|
+ (void)registerWithRegistrar:(NSObject<FlutterPluginRegistrar>*)registrar {
|
||||||
|
[SwiftCwSharedExternalPlugin registerWithRegistrar:registrar];
|
||||||
|
}
|
||||||
|
@end
|
|
@ -0,0 +1,14 @@
|
||||||
|
import Flutter
|
||||||
|
import UIKit
|
||||||
|
|
||||||
|
public class SwiftCwSharedExternalPlugin: NSObject, FlutterPlugin {
|
||||||
|
public static func register(with registrar: FlutterPluginRegistrar) {
|
||||||
|
let channel = FlutterMethodChannel(name: "cw_shared_external", binaryMessenger: registrar.messenger())
|
||||||
|
let instance = SwiftCwSharedExternalPlugin()
|
||||||
|
registrar.addMethodCallDelegate(instance, channel: channel)
|
||||||
|
}
|
||||||
|
|
||||||
|
public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
|
||||||
|
result("iOS " + UIDevice.current.systemVersion)
|
||||||
|
}
|
||||||
|
}
|
41
cw_shared_external/ios/cw_shared_external.podspec
Normal file
41
cw_shared_external/ios/cw_shared_external.podspec
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
#
|
||||||
|
# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html.
|
||||||
|
# Run `pod lib lint cw_shared_external.podspec` to validate before publishing.
|
||||||
|
#
|
||||||
|
Pod::Spec.new do |s|
|
||||||
|
s.name = 'cw_shared_external'
|
||||||
|
s.version = '0.0.1'
|
||||||
|
s.summary = 'Shared libraries for monero and haven.'
|
||||||
|
s.description = 'Shared libraries for monero and haven.'
|
||||||
|
s.homepage = 'http://cakewallet.com'
|
||||||
|
s.license = { :file => '../LICENSE' }
|
||||||
|
s.author = { 'Cake Wallet' => 'm@cakewallet.com' }
|
||||||
|
s.source = { :path => '.' }
|
||||||
|
s.source_files = 'Classes/**/*'
|
||||||
|
s.dependency 'Flutter'
|
||||||
|
s.platform = :ios, '10.0'
|
||||||
|
|
||||||
|
s.pod_target_xcconfig = { 'DEFINES_MODULE' => 'YES', 'VALID_ARCHS' => 'arm64', 'ENABLE_BITCODE' => 'NO' }
|
||||||
|
s.swift_version = '5.0'
|
||||||
|
|
||||||
|
s.subspec 'OpenSSL' do |openssl|
|
||||||
|
openssl.preserve_paths = 'External/ios/include/*.h'
|
||||||
|
openssl.vendored_libraries = 'External/ios/lib/libcrypto.a', 'External/ios/lib/libssl.a'
|
||||||
|
openssl.libraries = 'ssl', 'crypto'
|
||||||
|
openssl.xcconfig = { 'HEADER_SEARCH_PATHS' => "${PODS_ROOT}/#{s.name}/External/ios/include/**" }
|
||||||
|
end
|
||||||
|
|
||||||
|
s.subspec 'Boost' do |boost|
|
||||||
|
boost.preserve_paths = 'External/ios/include/**/*.h'
|
||||||
|
boost.vendored_libraries = 'External/ios/lib/libboost.a',
|
||||||
|
boost.libraries = 'boost'
|
||||||
|
boost.xcconfig = { 'HEADER_SEARCH_PATHS' => "${PODS_ROOT}/#{s.name}/External/ios/include/**" }
|
||||||
|
end
|
||||||
|
|
||||||
|
s.subspec 'Sodium' do |sodium|
|
||||||
|
sodium.preserve_paths = 'External/ios/include/**/*.h'
|
||||||
|
sodium.vendored_libraries = 'External/ios/lib/libsodium.a'
|
||||||
|
sodium.libraries = 'sodium'
|
||||||
|
sodium.xcconfig = { 'HEADER_SEARCH_PATHS' => "${PODS_ROOT}/#{s.name}/External/ios/include/**" }
|
||||||
|
end
|
||||||
|
end
|
14
cw_shared_external/lib/cw_shared_external.dart
Normal file
14
cw_shared_external/lib/cw_shared_external.dart
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
|
||||||
|
import 'dart:async';
|
||||||
|
|
||||||
|
import 'package:flutter/services.dart';
|
||||||
|
|
||||||
|
class CwSharedExternal {
|
||||||
|
static const MethodChannel _channel =
|
||||||
|
const MethodChannel('cw_shared_external');
|
||||||
|
|
||||||
|
static Future<String> get platformVersion async {
|
||||||
|
final String version = await _channel.invokeMethod('getPlatformVersion');
|
||||||
|
return version;
|
||||||
|
}
|
||||||
|
}
|
147
cw_shared_external/pubspec.lock
Normal file
147
cw_shared_external/pubspec.lock
Normal file
|
@ -0,0 +1,147 @@
|
||||||
|
# Generated by pub
|
||||||
|
# See https://dart.dev/tools/pub/glossary#lockfile
|
||||||
|
packages:
|
||||||
|
async:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: async
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.5.0"
|
||||||
|
boolean_selector:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: boolean_selector
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.1.0"
|
||||||
|
characters:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: characters
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.0"
|
||||||
|
charcode:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: charcode
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.2.0"
|
||||||
|
clock:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: clock
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.0"
|
||||||
|
collection:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: collection
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.15.0"
|
||||||
|
fake_async:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: fake_async
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.2.0"
|
||||||
|
flutter:
|
||||||
|
dependency: "direct main"
|
||||||
|
description: flutter
|
||||||
|
source: sdk
|
||||||
|
version: "0.0.0"
|
||||||
|
flutter_test:
|
||||||
|
dependency: "direct dev"
|
||||||
|
description: flutter
|
||||||
|
source: sdk
|
||||||
|
version: "0.0.0"
|
||||||
|
matcher:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: matcher
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.12.10"
|
||||||
|
meta:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: meta
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.3.0"
|
||||||
|
path:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: path
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.8.0"
|
||||||
|
sky_engine:
|
||||||
|
dependency: transitive
|
||||||
|
description: flutter
|
||||||
|
source: sdk
|
||||||
|
version: "0.0.99"
|
||||||
|
source_span:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: source_span
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.8.0"
|
||||||
|
stack_trace:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: stack_trace
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.10.0"
|
||||||
|
stream_channel:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: stream_channel
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.1.0"
|
||||||
|
string_scanner:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: string_scanner
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.1.0"
|
||||||
|
term_glyph:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: term_glyph
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.2.0"
|
||||||
|
test_api:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: test_api
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "0.2.19"
|
||||||
|
typed_data:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: typed_data
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "1.3.0"
|
||||||
|
vector_math:
|
||||||
|
dependency: transitive
|
||||||
|
description:
|
||||||
|
name: vector_math
|
||||||
|
url: "https://pub.dartlang.org"
|
||||||
|
source: hosted
|
||||||
|
version: "2.1.0"
|
||||||
|
sdks:
|
||||||
|
dart: ">=2.12.0-0.0 <3.0.0"
|
||||||
|
flutter: ">=1.20.0"
|
26
cw_shared_external/pubspec.yaml
Normal file
26
cw_shared_external/pubspec.yaml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
name: cw_shared_external
|
||||||
|
description: Shared external libraries for monero and haven
|
||||||
|
version: 0.0.1
|
||||||
|
author: Cake Walelt
|
||||||
|
homepage: https://cakewallet.com
|
||||||
|
|
||||||
|
environment:
|
||||||
|
sdk: ">=2.7.0 <3.0.0"
|
||||||
|
flutter: ">=1.20.0"
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
flutter:
|
||||||
|
sdk: flutter
|
||||||
|
|
||||||
|
dev_dependencies:
|
||||||
|
flutter_test:
|
||||||
|
sdk: flutter
|
||||||
|
|
||||||
|
flutter:
|
||||||
|
plugin:
|
||||||
|
platforms:
|
||||||
|
android:
|
||||||
|
package: com.cakewallet.cw_shared_external
|
||||||
|
pluginClass: CwSharedExternalPlugin
|
||||||
|
ios:
|
||||||
|
pluginClass: CwSharedExternalPlugin
|
Loading…
Reference in a new issue