From d12e338c4c240a3658b20253aeb34563803cc2c5 Mon Sep 17 00:00:00 2001 From: Yaroslav Moria <5eeman@users.noreply.github.com> Date: Wed, 16 Oct 2024 15:22:33 +0200 Subject: [PATCH] Updated minimal required Flutter version. --- CHANGELOG.md | 4 +++ example/ios/Podfile.lock | 16 +++++----- example/ios/Runner/AppDelegate.swift | 2 +- example/lib/main.dart | 4 +-- example/pubspec.lock | 30 +++++++++---------- example/pubspec.yaml | 2 +- lib/flutter_rapidsnark.dart | 7 +++-- lib/flutter_rapidsnark_method_channel.dart | 9 +++--- ...flutter_rapidsnark_platform_interface.dart | 5 ++-- lib/model.dart | 6 ++++ pubspec.yaml | 6 ++-- test/flutter_rapidsnark_test.dart | 4 +-- 12 files changed, 55 insertions(+), 40 deletions(-) create mode 100644 lib/model.dart diff --git a/CHANGELOG.md b/CHANGELOG.md index 82acf3c..514e439 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 0.0.1-alpha.3 (2024-10-16) + +Reduced minimum Flutter SDK requirements. + ## 0.0.1-alpha.2 (2024-09-14) Updated rapidsnark native libraries. diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index a5d3b9c..6aff878 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -2,16 +2,16 @@ PODS: - Flutter (1.0.0) - flutter_rapidsnark (0.0.1): - Flutter - - rapidsnark (= 0.0.1-alpha.4) + - rapidsnark (= 0.0.1-alpha.5) - integration_test (0.0.1): - Flutter - path_provider_foundation (0.0.1): - Flutter - FlutterMacOS - - rapidsnark (0.0.1-alpha.4): - - rapidsnark/rapidsnark (= 0.0.1-alpha.4) - - rapidsnark/C (0.0.1-alpha.4) - - rapidsnark/rapidsnark (0.0.1-alpha.4): + - rapidsnark (0.0.1-alpha.5): + - rapidsnark/rapidsnark (= 0.0.1-alpha.5) + - rapidsnark/C (0.0.1-alpha.5) + - rapidsnark/rapidsnark (0.0.1-alpha.5): - rapidsnark/C DEPENDENCIES: @@ -36,10 +36,10 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7 - flutter_rapidsnark: c2f2a7ff48da923973affd98982043d6793e73cd - integration_test: ce0a3ffa1de96d1a89ca0ac26fca7ea18a749ef4 + flutter_rapidsnark: ded255c197aac9911fa75822447486eced081719 + integration_test: 252f60fa39af5e17c3aa9899d35d908a0721b573 path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46 - rapidsnark: 6cd5f2e7a91ffc8eff9cf43827d34425f72086a3 + rapidsnark: 4e70fa2f70e3b0846a0c1bf94a635113f261ada9 PODFILE CHECKSUM: c6a1a2ce493f1542a1de3f1ef212b74310af6bfd diff --git a/example/ios/Runner/AppDelegate.swift b/example/ios/Runner/AppDelegate.swift index 70693e4..b636303 100644 --- a/example/ios/Runner/AppDelegate.swift +++ b/example/ios/Runner/AppDelegate.swift @@ -1,7 +1,7 @@ import UIKit import Flutter -@UIApplicationMain +@main @objc class AppDelegate: FlutterAppDelegate { override func application( _ application: UIApplication, diff --git a/example/lib/main.dart b/example/lib/main.dart index 02acef4..6f64967 100644 --- a/example/lib/main.dart +++ b/example/lib/main.dart @@ -72,14 +72,14 @@ class _MyAppState extends State { Future _runProver() async { String result = ""; try { - final zkey = await this.zkey; final witness = await this.witness; final stopwatch = Stopwatch()..start(); - final ({String proof, String publicSignals}) proof; + final ProveResult proof; if (_bufferProverEnabled) { + final zkey = await this.zkey; proof = await _flutterRapidsnarkPlugin.groth16Prove( zkey: zkey, witness: witness, diff --git a/example/pubspec.lock b/example/pubspec.lock index 1476462..5f8084d 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -97,7 +97,7 @@ packages: path: ".." relative: true source: path - version: "0.0.1-alpha.2" + version: "0.0.1-alpha.3" flutter_test: dependency: "direct dev" description: flutter @@ -117,18 +117,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7f0df31977cb2c0b88585095d168e689669a2cc9b97c309665e3386f3e9d341a" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.4" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "06e98f569d004c1315b991ded39924b21af84cf14cc94791b8aea337d25b57f8" + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "3.0.3" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: @@ -157,18 +157,18 @@ packages: dependency: transitive description: name: material_color_utilities - sha256: "0e0a020085b65b6083975e499759762399b4475f766c21668c4ecca34ea74e5a" + sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec url: "https://pub.dev" source: hosted - version: "0.8.0" + version: "0.11.1" meta: dependency: transitive description: name: meta - sha256: "7687075e408b093f36e6bbf6c91878cc0d4cd10f409506f7bc996f68220b9136" + sha256: bdb68674043280c3428e9ec998512fb681678676b3c54e773629ffe74419f8c7 url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.15.0" path: dependency: transitive description: @@ -229,10 +229,10 @@ packages: dependency: transitive description: name: platform - sha256: "12220bb4b65720483f8fa9450b4332347737cf8213dd2840d8b2c823e47243ec" + sha256: "9b71283fc13df574056616011fb138fd3b793ea47cc509c189a6c3fa5f8a1a65" url: "https://pub.dev" source: hosted - version: "3.1.4" + version: "3.1.5" plugin_platform_interface: dependency: transitive description: @@ -306,10 +306,10 @@ packages: dependency: transitive description: name: test_api - sha256: "9955ae474176f7ac8ee4e989dadfb411a58c30415bcfb648fa04b2b8a03afa7f" + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.dev" source: hosted - version: "0.7.0" + version: "0.7.2" vector_math: dependency: transitive description: @@ -322,10 +322,10 @@ packages: dependency: transitive description: name: vm_service - sha256: "3923c89304b715fb1eb6423f017651664a03bf5f4b29983627c4da791f74a4ec" + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" url: "https://pub.dev" source: hosted - version: "14.2.1" + version: "14.2.5" webdriver: dependency: transitive description: diff --git a/example/pubspec.yaml b/example/pubspec.yaml index 2a1950f..de4c596 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -1,6 +1,6 @@ name: flutter_rapidsnark_example description: "Demonstrates how to use the flutter_rapidsnark plugin." -version: 0.0.1-alpha.1+1 +version: 0.0.1-alpha.1+3 publish_to: 'none' # Remove this line if you wish to publish to pub.dev environment: diff --git a/lib/flutter_rapidsnark.dart b/lib/flutter_rapidsnark.dart index b5788d0..5b92451 100644 --- a/lib/flutter_rapidsnark.dart +++ b/lib/flutter_rapidsnark.dart @@ -1,12 +1,15 @@ import 'dart:typed_data'; import 'flutter_rapidsnark_platform_interface.dart'; +import 'model.dart'; + +export 'model.dart'; const _defaultProofBufferSize = 1024; const _defaultErrorBufferSize = 256; class Rapidsnark { - Future<({String proof, String publicSignals})> groth16Prove({ + Future groth16Prove({ required Uint8List zkey, required Uint8List witness, int proofBufferSize = _defaultProofBufferSize, @@ -22,7 +25,7 @@ class Rapidsnark { ); } - Future<({String proof, String publicSignals})> groth16ProveWithZKeyFilePath({ + Future groth16ProveWithZKeyFilePath({ required String zkeyPath, required Uint8List witness, int proofBufferSize = _defaultProofBufferSize, diff --git a/lib/flutter_rapidsnark_method_channel.dart b/lib/flutter_rapidsnark_method_channel.dart index 737fec2..c6368fc 100644 --- a/lib/flutter_rapidsnark_method_channel.dart +++ b/lib/flutter_rapidsnark_method_channel.dart @@ -2,6 +2,7 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/services.dart'; import 'flutter_rapidsnark_platform_interface.dart'; +import 'model.dart'; const _defaultProofBufferSize = 1024; const _defaultErrorBufferSize = 256; @@ -13,7 +14,7 @@ class MethodChannelFlutterRapidsnark extends FlutterRapidsnarkPlatform { final methodChannel = const MethodChannel('flutter_rapidsnark'); @override - Future<({String proof, String publicSignals})> groth16Prove({ + Future groth16Prove({ required Uint8List zkey, required Uint8List witness, int proofBufferSize = _defaultProofBufferSize, @@ -35,14 +36,14 @@ class MethodChannelFlutterRapidsnark extends FlutterRapidsnarkPlatform { }, ))!; - return ( + return ProveResult( proof: result['proof'] as String, publicSignals: result['publicSignals'] as String, ); } @override - Future<({String proof, String publicSignals})> groth16ProveWithZKeyFilePath({ + Future groth16ProveWithZKeyFilePath({ required String zkeyPath, required Uint8List witness, int proofBufferSize = _defaultProofBufferSize, @@ -64,7 +65,7 @@ class MethodChannelFlutterRapidsnark extends FlutterRapidsnarkPlatform { }, ))!; - return ( + return ProveResult( proof: result['proof'] as String, publicSignals: result['publicSignals'] as String, ); diff --git a/lib/flutter_rapidsnark_platform_interface.dart b/lib/flutter_rapidsnark_platform_interface.dart index b3d1d38..6468e25 100644 --- a/lib/flutter_rapidsnark_platform_interface.dart +++ b/lib/flutter_rapidsnark_platform_interface.dart @@ -3,6 +3,7 @@ import 'dart:typed_data'; import 'package:plugin_platform_interface/plugin_platform_interface.dart'; import 'flutter_rapidsnark_method_channel.dart'; +import 'model.dart'; abstract class FlutterRapidsnarkPlatform extends PlatformInterface { /// Constructs a FlutterRapidsnarkPlatform. @@ -25,7 +26,7 @@ abstract class FlutterRapidsnarkPlatform extends PlatformInterface { _instance = instance; } - Future<({String proof, String publicSignals})> groth16Prove({ + Future groth16Prove({ required Uint8List zkey, required Uint8List witness, int proofBufferSize, @@ -33,7 +34,7 @@ abstract class FlutterRapidsnarkPlatform extends PlatformInterface { int errorBufferSize, }); - Future<({String proof, String publicSignals})> groth16ProveWithZKeyFilePath({ + Future groth16ProveWithZKeyFilePath({ required String zkeyPath, required Uint8List witness, int proofBufferSize, diff --git a/lib/model.dart b/lib/model.dart new file mode 100644 index 0000000..47b6e0f --- /dev/null +++ b/lib/model.dart @@ -0,0 +1,6 @@ +class ProveResult { + final String proof; + final String publicSignals; + + ProveResult({required this.proof, required this.publicSignals}); +} diff --git a/pubspec.yaml b/pubspec.yaml index a8a7cd1..cd3f2e7 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,11 +1,11 @@ name: flutter_rapidsnark description: "Rapidsnark Flutter Plugin" -version: 0.0.1-alpha.2 +version: 0.0.1-alpha.3 homepage: https://github.com/iden3/flutter-rapidsnark environment: - sdk: '>=3.3.4 <4.0.0' - flutter: '>=3.3.0' + sdk: '>=2.12.0 <4.0.0' + flutter: '>=2.0.0' dependencies: flutter: diff --git a/test/flutter_rapidsnark_test.dart b/test/flutter_rapidsnark_test.dart index 5c35970..c61fc2e 100644 --- a/test/flutter_rapidsnark_test.dart +++ b/test/flutter_rapidsnark_test.dart @@ -19,7 +19,7 @@ class MockFlutterRapidsnarkPlatform Future.value(false); @override - Future<({String proof, String publicSignals})> groth16Prove({ + Future groth16Prove({ required Uint8List zkey, required Uint8List witness, int proofBufferSize = 16384, @@ -31,7 +31,7 @@ class MockFlutterRapidsnarkPlatform } @override - Future<({String proof, String publicSignals})> groth16ProveWithZKeyFilePath({ + Future groth16ProveWithZKeyFilePath({ required String zkeyPath, required Uint8List witness, int proofBufferSize = 16384,