mwc native assets package migration (removes need for submodule and fixes issue on macos)
What changed, and why it matters
This commit changes how the Mimblewimblecoin (MWC) crypto library is bundled in the Stack Wallet app. It removes the old Git submodule setup and instead pulls the library directly from a specific Git commit. It also re-enables MWC support on macOS and removes some on-screen build-commit information for MWC. There is no obvious security vulnerability in the diff itself, but the change shifts trust to a pinned external Git reference and removes a visible transparency check.
Verify the pinned flutter_libmwc commit hash (ebf46676986b60fa61b2d89c92c6de498e1e917e) against the upstream repository and confirm it matches an audited, tagged release. Review the new native assets build pipeline and transitive dependency changes (native_toolchain_rust, toml override) for supply-chain risks. Consider restoring an independent MWC plugin-version or commit-status check if build reproducibility and transparency are required.
Security signals we found
External dependency now fetched by Git commit hash rather than local submodule
Removal of MWC build-commit verification UI and GitStatus commit-status checks
Removal of getPluginVersion() from LibMwcInterface
Dependency override added for toml ^0.18.0 due to native_toolchain_rust constraint
Transitive dependency bumps: hooks 2.0.2→2.2.0, record_use 0.6.0→1.1.1, native_toolchain_rust 1.0.6 added
Re-enables Mimblewimblecoin on macOS after prior macOS exclusion
Evidence from the diff
The commit migrates flutter_libmwc from a local path submodule (crypto_plugins/flutter_libmwc) to a Git dependency pinned at ref ebf46676986b60fa61b2d89c92c6de498e1e917e. It updates pubspec.lock, removes the .gitmodules entry, drops MWC-specific commit-status UI and GitStatus helpers, removes getPluginVersion() from the LibMwcInterface, and re-enables Mimblewimblecoin on macOS in both production and test app configs. Dependency overrides for toml ^0.18.0 and transitive updates to hooks, record_use, and native_toolchain_rust are added to satisfy the new package’s build requirements.
Changed components
MWC/Mimblewimblecoin wallet integrationflutter_libmwc dependencyAbout / Desktop About UIGitStatus utilitypubspec configuration and lockfilemacOS build configurationInspect captured patch +311 / −453
diff --git a/.gitmodules b/.gitmodules
index d0c1810..d9a561c 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -4,6 +4,3 @@
[submodule "crypto_plugins/frostdart"]
path = crypto_plugins/frostdart
url = https://github.com/cypherstack/frostdart
-[submodule "crypto_plugins/flutter_libmwc"]
- path = crypto_plugins/flutter_libmwc
- url = https://github.com/cypherstack/flutter_libmwc
diff --git a/lib/pages/settings_views/global_settings_view/about_view.dart b/lib/pages/settings_views/global_settings_view/about_view.dart
index 88ed1a0..b78d940 100644
--- a/lib/pages/settings_views/global_settings_view/about_view.dart
+++ b/lib/pages/settings_views/global_settings_view/about_view.dart
@@ -58,213 +58,170 @@ class AboutView extends ConsumerWidget {
children: [
FutureBuilder(
future: PackageInfo.fromPlatform(),
- builder: (
- context,
- AsyncSnapshot<PackageInfo> snapshot,
- ) {
- String version = "";
- String signature = "";
- String appName = "";
- String build = "";
+ builder:
+ (context, AsyncSnapshot<PackageInfo> snapshot) {
+ String version = "";
+ String signature = "";
+ String appName = "";
+ String build = "";
- if (snapshot.connectionState ==
- ConnectionState.done &&
- snapshot.hasData) {
- version = snapshot.data!.version;
- build = snapshot.data!.buildNumber;
- signature = snapshot.data!.buildSignature;
- appName = snapshot.data!.appName;
- }
+ if (snapshot.connectionState ==
+ ConnectionState.done &&
+ snapshot.hasData) {
+ version = snapshot.data!.version;
+ build = snapshot.data!.buildNumber;
+ signature = snapshot.data!.buildSignature;
+ appName = snapshot.data!.appName;
+ }
- return Column(
- crossAxisAlignment: CrossAxisAlignment.stretch,
- children: [
- Center(
- child: Text(
- appName,
- style: STextStyles.pageTitleH2(context),
- ),
- ),
- const SizedBox(height: 24),
- RoundedWhiteContainer(
- child: Column(
- crossAxisAlignment:
- CrossAxisAlignment.stretch,
- children: [
- Text(
- "Version",
- style: STextStyles.titleBold12(
- context,
- ),
- ),
- const SizedBox(height: 4),
- SelectableText(
- version,
- style: STextStyles.itemSubtitle(
- context,
- ),
- ),
- ],
- ),
- ),
- const SizedBox(height: 12),
- RoundedWhiteContainer(
- child: Column(
- crossAxisAlignment:
- CrossAxisAlignment.stretch,
- children: [
- Text(
- "Build number",
- style: STextStyles.titleBold12(
- context,
- ),
- ),
- const SizedBox(height: 4),
- SelectableText(
- build,
- style: STextStyles.itemSubtitle(
+ return Column(
+ crossAxisAlignment:
+ CrossAxisAlignment.stretch,
+ children: [
+ Center(
+ child: Text(
+ appName,
+ style: STextStyles.pageTitleH2(
context,
),
),
- ],
- ),
- ),
- const SizedBox(height: 12),
- RoundedWhiteContainer(
- child: Column(
- crossAxisAlignment:
- CrossAxisAlignment.stretch,
- children: [
- Text(
- "Build commit",
- style: STextStyles.titleBold12(
- context,
- ),
+ ),
+ const SizedBox(height: 24),
+ RoundedWhiteContainer(
+ child: Column(
+ crossAxisAlignment:
+ CrossAxisAlignment.stretch,
+ children: [
+ Text(
+ "Version",
+ style: STextStyles.titleBold12(
+ context,
+ ),
+ ),
+ const SizedBox(height: 4),
+ SelectableText(
+ version,
+ style: STextStyles.itemSubtitle(
+ context,
+ ),
+ ),
+ ],
),
- const SizedBox(height: 4),
- SelectableText(
- GitStatus.appCommitHash,
- style: STextStyles.itemSubtitle(
- context,
- ),
+ ),
+ const SizedBox(height: 12),
+ RoundedWhiteContainer(
+ child: Column(
+ crossAxisAlignment:
+ CrossAxisAlignment.stretch,
+ children: [
+ Text(
+ "Build number",
+ style: STextStyles.titleBold12(
+ context,
+ ),
+ ),
+ const SizedBox(height: 4),
+ SelectableText(
+ build,
+ style: STextStyles.itemSubtitle(
+ context,
+ ),
+ ),
+ ],
),
- ],
- ),
- ),
- const SizedBox(height: 12),
- RoundedWhiteContainer(
- child: Column(
- crossAxisAlignment:
- CrossAxisAlignment.stretch,
- children: [
- Text(
- "Build signature",
- style: STextStyles.titleBold12(
- context,
- ),
+ ),
+ const SizedBox(height: 12),
+ RoundedWhiteContainer(
+ child: Column(
+ crossAxisAlignment:
+ CrossAxisAlignment.stretch,
+ children: [
+ Text(
+ "Build commit",
+ style: STextStyles.titleBold12(
+ context,
+ ),
+ ),
+ const SizedBox(height: 4),
+ SelectableText(
+ GitStatus.appCommitHash,
+ style: STextStyles.itemSubtitle(
+ context,
+ ),
+ ),
+ ],
),
- const SizedBox(height: 4),
- SelectableText(
- signature,
- style: STextStyles.itemSubtitle(
- context,
- ),
+ ),
+ const SizedBox(height: 12),
+ RoundedWhiteContainer(
+ child: Column(
+ crossAxisAlignment:
+ CrossAxisAlignment.stretch,
+ children: [
+ Text(
+ "Build signature",
+ style: STextStyles.titleBold12(
+ context,
+ ),
+ ),
+ const SizedBox(height: 4),
+ SelectableText(
+ signature,
+ style: STextStyles.itemSubtitle(
+ context,
+ ),
+ ),
+ ],
),
- ],
- ),
- ),
- ],
- );
- },
+ ),
+ ],
+ );
+ },
),
if (AppConfig.coins.whereType<Epiccash>().isNotEmpty)
const SizedBox(height: 12),
if (AppConfig.coins.whereType<Epiccash>().isNotEmpty)
FutureBuilder(
future: GitStatus.getEpicCommitStatus(),
- builder: (
- context,
- AsyncSnapshot<CommitStatus> snapshot,
- ) {
- CommitStatus stateOfCommit =
- CommitStatus.notLoaded;
+ builder:
+ (
+ context,
+ AsyncSnapshot<CommitStatus> snapshot,
+ ) {
+ CommitStatus stateOfCommit =
+ CommitStatus.notLoaded;
- if (snapshot.connectionState ==
- ConnectionState.done &&
- snapshot.hasData) {
- stateOfCommit = snapshot.data!;
- }
+ if (snapshot.connectionState ==
+ ConnectionState.done &&
+ snapshot.hasData) {
+ stateOfCommit = snapshot.data!;
+ }
- return RoundedWhiteContainer(
- child: Column(
- crossAxisAlignment:
- CrossAxisAlignment.stretch,
- children: [
- Text(
- "Epic Cash Build Commit",
- style: STextStyles.titleBold12(context),
- ),
- const SizedBox(height: 4),
- SelectableText(
- GitStatus.epicCashCommit,
- style: GitStatus.styleForStatus(
- stateOfCommit,
- context,
- ),
+ return RoundedWhiteContainer(
+ child: Column(
+ crossAxisAlignment:
+ CrossAxisAlignment.stretch,
+ children: [
+ Text(
+ "Epic Cash Build Commit",
+ style: STextStyles.titleBold12(
+ context,
+ ),
+ ),
+ const SizedBox(height: 4),
+ SelectableText(
+ GitStatus.epicCashCommit,
+ style: GitStatus.styleForStatus(
+ stateOfCommit,
+ context,
+ ),
+ ),
+ ],
),
- ],
- ),
- );
- },
+ );
+ },
),
const SizedBox(height: 12),
- if (AppConfig.coins
- .whereType<Mimblewimblecoin>()
- .isNotEmpty)
- const SizedBox(height: 12),
- if (AppConfig.coins
- .whereType<Mimblewimblecoin>()
- .isNotEmpty)
- FutureBuilder(
- future:
- GitStatus.getMimblewimblecoinCommitStatus(),
- builder: (
- context,
- AsyncSnapshot<CommitStatus> snapshot,
- ) {
- CommitStatus stateOfCommit =
- CommitStatus.notLoaded;
-
- if (snapshot.connectionState ==
- ConnectionState.done &&
- snapshot.hasData) {
- stateOfCommit = snapshot.data!;
- }
-
- return RoundedWhiteContainer(
- child: Column(
- crossAxisAlignment:
- CrossAxisAlignment.stretch,
- children: [
- Text(
- "Mimblewimblecoin Build Commit",
- style: STextStyles.titleBold12(context),
- ),
- const SizedBox(height: 4),
- SelectableText(
- GitStatus.mimblewimblecoinCommit,
- style: GitStatus.styleForStatus(
- stateOfCommit,
- context,
- ),
- ),
- ],
- ),
- );
- },
- ),
- if (AppConfig.coins.whereType<Monero>().isNotEmpty)
- const SizedBox(height: 12),
// if (AppConfig.coins.whereType<Monero>().isNotEmpty)
// FutureBuilder(
// future: GitStatus.getMoneroCommitStatus(),
@@ -390,33 +347,29 @@ class AboutView extends ConsumerWidget {
TextSpan(
text: "Terms of service",
style: STextStyles.richLink(context),
- recognizer:
- TapGestureRecognizer()
- ..onTap = () {
- launchUrl(
- Uri.parse(
- "https://stackwallet.com/terms-of-service.html",
- ),
- mode:
- LaunchMode.externalApplication,
- );
- },
+ recognizer: TapGestureRecognizer()
+ ..onTap = () {
+ launchUrl(
+ Uri.parse(
+ "https://stackwallet.com/terms-of-service.html",
+ ),
+ mode: LaunchMode.externalApplication,
+ );
+ },
),
const TextSpan(text: " and "),
TextSpan(
text: "Privacy policy",
style: STextStyles.richLink(context),
- recognizer:
- TapGestureRecognizer()
- ..onTap = () {
- launchUrl(
- Uri.parse(
- "https://stackwallet.com/privacy-policy.html",
- ),
- mode:
- LaunchMode.externalApplication,
- );
- },
+ recognizer: TapGestureRecognizer()
+ ..onTap = () {
+ launchUrl(
+ Uri.parse(
+ "https://stackwallet.com/privacy-policy.html",
+ ),
+ mode: LaunchMode.externalApplication,
+ );
+ },
),
],
),
diff --git a/lib/pages_desktop_specific/settings/settings_menu/desktop_about_view.dart b/lib/pages_desktop_specific/settings/settings_menu/desktop_about_view.dart
index 22c00c5..417c126 100644
--- a/lib/pages_desktop_specific/settings/settings_menu/desktop_about_view.dart
+++ b/lib/pages_desktop_specific/settings/settings_menu/desktop_about_view.dart
@@ -83,29 +83,25 @@ class DesktopAboutView extends ConsumerWidget {
STextStyles.desktopTextExtraExtraSmall(
context,
).copyWith(
- color:
- Theme.of(context)
- .extension<StackColors>()!
- .textDark3,
+ color: Theme.of(context)
+ .extension<StackColors>()!
+ .textDark3,
),
),
TextSpan(
text: "Terms of service",
- style: STextStyles.richLink(
- context,
- ).copyWith(fontSize: 14),
- recognizer:
- TapGestureRecognizer()
- ..onTap = () {
- launchUrl(
- Uri.parse(
- "https://stackwallet.com/terms-of-service.html",
- ),
- mode:
- LaunchMode
- .externalApplication,
- );
- },
+ style: STextStyles.richLink(context)
+ .copyWith(fontSize: 14),
+ recognizer: TapGestureRecognizer()
+ ..onTap = () {
+ launchUrl(
+ Uri.parse(
+ "https://stackwallet.com/terms-of-service.html",
+ ),
+ mode:
+ LaunchMode.externalApplication,
+ );
+ },
),
TextSpan(
text: " and ",
@@ -113,29 +109,25 @@ class DesktopAboutView extends ConsumerWidget {
STextStyles.desktopTextExtraExtraSmall(
context,
).copyWith(
- color:
- Theme.of(context)
- .extension<StackColors>()!
- .textDark3,
+ color: Theme.of(context)
+ .extension<StackColors>()!
+ .textDark3,
),
),
TextSpan(
text: "Privacy policy",
- style: STextStyles.richLink(
- context,
- ).copyWith(fontSize: 14),
- recognizer:
- TapGestureRecognizer()
- ..onTap = () {
- launchUrl(
- Uri.parse(
- "https://stackwallet.com/privacy-policy.html",
- ),
- mode:
- LaunchMode
- .externalApplication,
- );
- },
+ style: STextStyles.richLink(context)
+ .copyWith(fontSize: 14),
+ recognizer: TapGestureRecognizer()
+ ..onTap = () {
+ launchUrl(
+ Uri.parse(
+ "https://stackwallet.com/privacy-policy.html",
+ ),
+ mode:
+ LaunchMode.externalApplication,
+ );
+ },
),
],
),
@@ -154,10 +146,7 @@ class DesktopAboutView extends ConsumerWidget {
children: [
FutureBuilder(
future: PackageInfo.fromPlatform(),
- builder: (
- context,
- AsyncSnapshot<PackageInfo> snapshot,
- ) {
+ builder: (context, AsyncSnapshot<PackageInfo> snapshot) {
String version = "";
String signature = "";
String build = "";
@@ -190,12 +179,11 @@ class DesktopAboutView extends ConsumerWidget {
STextStyles.desktopTextExtraExtraSmall(
context,
).copyWith(
- color:
- Theme.of(context)
- .extension<
- StackColors
- >()!
- .textDark,
+ color: Theme.of(context)
+ .extension<
+ StackColors
+ >()!
+ .textDark,
),
),
const SizedBox(height: 2),
@@ -220,12 +208,11 @@ class DesktopAboutView extends ConsumerWidget {
STextStyles.desktopTextExtraExtraSmall(
context,
).copyWith(
- color:
- Theme.of(context)
- .extension<
- StackColors
- >()!
- .textDark,
+ color: Theme.of(context)
+ .extension<
+ StackColors
+ >()!
+ .textDark,
),
),
const SizedBox(height: 2),
@@ -250,12 +237,11 @@ class DesktopAboutView extends ConsumerWidget {
STextStyles.desktopTextExtraExtraSmall(
context,
).copyWith(
- color:
- Theme.of(context)
- .extension<
- StackColors
- >()!
- .textDark,
+ color: Theme.of(context)
+ .extension<
+ StackColors
+ >()!
+ .textDark,
),
),
const SizedBox(height: 2),
@@ -284,12 +270,11 @@ class DesktopAboutView extends ConsumerWidget {
STextStyles.desktopTextExtraExtraSmall(
context,
).copyWith(
- color:
- Theme.of(context)
- .extension<
- StackColors
- >()!
- .textDark,
+ color: Theme.of(context)
+ .extension<
+ StackColors
+ >()!
+ .textDark,
),
),
const SizedBox(height: 2),
@@ -315,115 +300,64 @@ class DesktopAboutView extends ConsumerWidget {
FutureBuilder(
future:
GitStatus.getEpicCommitStatus(),
- builder: (
- context,
- AsyncSnapshot<CommitStatus>
- snapshot,
- ) {
- CommitStatus stateOfCommit =
- CommitStatus.notLoaded;
-
- if (snapshot.connectionState ==
- ConnectionState
- .done &&
- snapshot.hasData) {
- stateOfCommit =
- snapshot.data!;
- }
-
- return Column(
- mainAxisSize:
- MainAxisSize.min,
- crossAxisAlignment:
- CrossAxisAlignment
- .start,
- children: [
- Text(
- "Epic Cash Build Commit",
- style: STextStyles.desktopTextExtraExtraSmall(
- context,
- ).copyWith(
- color:
- Theme.of(context)
- .extension<
- StackColors
- >()!
- .textDark,
- ),
- ),
- const SizedBox(height: 2),
- SelectableText(
- GitStatus
- .epicCashCommit,
- style:
- GitStatus.styleForStatus(
- stateOfCommit,
- context,
- ),
- ),
- ],
- );
- },
- ),
- if (AppConfig.coins
- .whereType<Mimblewimblecoin>()
- .isNotEmpty)
- FutureBuilder(
- future: GitStatus
- .getMimblewimblecoinCommitStatus(),
- builder: (
- context,
- AsyncSnapshot<CommitStatus>
+ builder:
+ (
+ context,
+ AsyncSnapshot<
+ CommitStatus
+ >
snapshot,
- ) {
- CommitStatus stateOfCommit =
- CommitStatus.notLoaded;
+ ) {
+ CommitStatus
+ stateOfCommit =
+ CommitStatus
+ .notLoaded;
- if (snapshot.connectionState ==
- ConnectionState
- .done &&
- snapshot.hasData) {
- stateOfCommit =
- snapshot.data!;
- }
+ if (snapshot.connectionState ==
+ ConnectionState
+ .done &&
+ snapshot.hasData) {
+ stateOfCommit =
+ snapshot.data!;
+ }
- return Column(
- mainAxisSize:
- MainAxisSize.min,
- crossAxisAlignment:
- CrossAxisAlignment
- .start,
- children: [
- Text(
- "Mimblewimblecoin Build Commit",
- style: STextStyles
- .desktopTextExtraExtraSmall(
- context,
- ).copyWith(
- color: Theme.of(
- context,
- )
- .extension<
- StackColors>()!
- .textDark,
- ),
- ),
- const SizedBox(
- height: 2,
- ),
- SelectableText(
- GitStatus
- .mimblewimblecoinCommit,
- style: GitStatus
- .styleForStatus(
- stateOfCommit,
- context,
- ),
- ),
- ],
- );
- },
+ return Column(
+ mainAxisSize:
+ MainAxisSize.min,
+ crossAxisAlignment:
+ CrossAxisAlignment
+ .start,
+ children: [
+ Text(
+ "Epic Cash Build Commit",
+ style:
+ STextStyles.desktopTextExtraExtraSmall(
+ context,
+ ).copyWith(
+ color: Theme.of(context)
+ .extension<
+ StackColors
+ >()!
+ .textDark,
+ ),
+ ),
+ const SizedBox(
+ height: 2,
+ ),
+ SelectableText(
+ GitStatus
+ .epicCashCommit,
+ style:
+ GitStatus.styleForStatus(
+ stateOfCommit,
+ context,
+ ),
+ ),
+ ],
+ );
+ },
),
+
//if (AppConfig.coins
// .whereType<Monero>()
// .isNotEmpty)
@@ -492,12 +426,11 @@ class DesktopAboutView extends ConsumerWidget {
STextStyles.desktopTextExtraExtraSmall(
context,
).copyWith(
- color:
- Theme.of(context)
- .extension<
- StackColors
- >()!
- .textDark,
+ color: Theme.of(context)
+ .extension<
+ StackColors
+ >()!
+ .textDark,
),
),
CustomTextButton(
@@ -507,9 +440,8 @@ class DesktopAboutView extends ConsumerWidget {
Uri.parse(
"https://stackwallet.com",
),
- mode:
- LaunchMode
- .externalApplication,
+ mode: LaunchMode
+ .externalApplication,
);
},
),
@@ -530,12 +462,11 @@ class DesktopAboutView extends ConsumerWidget {
STextStyles.desktopTextExtraExtraSmall(
context,
).copyWith(
- color:
- Theme.of(context)
- .extension<
- StackColors
- >()!
- .textDark,
+ color: Theme.of(context)
+ .extension<
+ StackColors
+ >()!
+ .textDark,
),
),
CustomTextButton(
@@ -545,9 +476,8 @@ class DesktopAboutView extends ConsumerWidget {
Uri.parse(
"https://tzkt.io",
),
- mode:
- LaunchMode
- .externalApplication,
+ mode: LaunchMode
+ .externalApplication,
);
},
),
diff --git a/lib/utilities/git_status.dart b/lib/utilities/git_status.dart
index a6d79f3..e3ca70a 100644
--- a/lib/utilities/git_status.dart
+++ b/lib/utilities/git_status.dart
@@ -8,7 +8,6 @@ import '../../../utilities/logger.dart';
import '../../../utilities/text_styles.dart';
import '../app_config.dart';
import '../wl_gen/generated/libepiccash_interface_impl.dart';
-import '../wl_gen/interfaces/libmwc_interface.dart';
const kGithubAPI = "https://api.github.com";
const kGithubSearch = "/search/commits";
@@ -19,7 +18,6 @@ enum CommitStatus { isHead, isOldCommit, notACommit, notLoaded }
abstract class GitStatus {
static String get epicCashCommit => libEpic.getPluginVersion();
// static String get moneroCommit => monero_versions.getPluginVersion();
- static String get mimblewimblecoinCommit => libMwc.getPluginVersion();
static String get appCommitHash => AppConfig.commitHash;
@@ -53,35 +51,6 @@ abstract class GitStatus {
return _cachedEpicStatus!;
}
- static CommitStatus? _cachedMimblewimblecoinStatus;
- static Future<CommitStatus> getMimblewimblecoinCommitStatus() async {
- if (_cachedMimblewimblecoinStatus != null) {
- return _cachedMimblewimblecoinStatus!;
- }
- final List<bool> results = await Future.wait([
- _doesCommitExist("cypherstack", "flutter_libmwc", mimblewimblecoinCommit),
- _isHeadCommit(
- "cypherstack",
- "flutter_libmwc",
- "main",
- mimblewimblecoinCommit,
- ),
- ]);
-
- final commitExists = results[0];
- final commitIsHead = results[1];
-
- if (commitExists && commitIsHead) {
- _cachedMimblewimblecoinStatus = CommitStatus.isHead;
- } else if (commitExists) {
- _cachedMimblewimblecoinStatus = CommitStatus.isOldCommit;
- } else {
- _cachedMimblewimblecoinStatus = CommitStatus.notACommit;
- }
-
- return _cachedMimblewimblecoinStatus!;
- }
-
//static CommitStatus? _cachedMoneroStatus;
//static Future<CommitStatus> getMoneroCommitStatus() async {
// if (_cachedMoneroStatus != null) {
diff --git a/lib/wl_gen/interfaces/libmwc_interface.dart b/lib/wl_gen/interfaces/libmwc_interface.dart
index a44b3b4..52608da 100644
--- a/lib/wl_gen/interfaces/libmwc_interface.dart
+++ b/lib/wl_gen/interfaces/libmwc_interface.dart
@@ -141,8 +141,6 @@ abstract class LibMwcInterface {
Future<String> deleteWallet({required String wallet, required String config});
Future<String> initLogs({required String config});
-
- String getPluginVersion();
}
class MwcTransaction {
diff --git a/pubspec.lock b/pubspec.lock
index e2fa574..3d96b19 100644
--- a/pubspec.lock
+++ b/pubspec.lock
@@ -1027,10 +1027,12 @@ packages:
flutter_libmwc:
dependency: "direct main"
description:
- path: "crypto_plugins/flutter_libmwc"
- relative: true
- source: path
- version: "0.0.1"
+ path: "."
+ ref: ebf46676986b60fa61b2d89c92c6de498e1e917e
+ resolved-ref: ebf46676986b60fa61b2d89c92c6de498e1e917e
+ url: "https://github.com/cypherstack/flutter_libmwc.git"
+ source: git
+ version: "0.1.0"
flutter_libsparkmobile:
dependency: "direct main"
description:
@@ -1339,10 +1341,10 @@ packages:
dependency: transitive
description:
name: hooks
- sha256: "9a62a50b50b769a737bc0a8ff381f333529df3ab746b2f6b02e83760231455ba"
+ sha256: eaac480a35ec0814146c2c48d96aaa829e0e44a7662c88ae84c9edf4bc35651f
url: "https://pub.dev"
source: hosted
- version: "2.0.2"
+ version: "2.2.0"
html:
dependency: "direct main"
description:
@@ -1720,6 +1722,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.3.2"
+ native_toolchain_rust:
+ dependency: transitive
+ description:
+ name: native_toolchain_rust
+ sha256: "8469a0e32a47a5c84b7fd300de9fd0e8082aac76c37922986324f5082a58350d"
+ url: "https://pub.dev"
+ source: hosted
+ version: "1.0.6"
nm:
dependency: transitive
description:
@@ -2028,10 +2038,10 @@ packages:
dependency: transitive
description:
name: record_use
- sha256: "2551bd8eecfe95d14ae75f6021ad0248be5c27f138c2ec12fcb52b500b3ba1ed"
+ sha256: "1cb8564af8d43b464294411db9217f5ec04891c6f22ee2c32d73ae05e88a6bd2"
url: "https://pub.dev"
source: hosted
- version: "0.6.0"
+ version: "1.1.1"
retry:
dependency: transitive
description:
@@ -2369,13 +2379,13 @@ packages:
source: hosted
version: "2.0.1"
toml:
- dependency: transitive
+ dependency: "direct overridden"
description:
name: toml
- sha256: "35cd2a1351c14bd213f130f8efcbd3e0c18181bff0c8ca7a08f6822a2bede786"
+ sha256: "35a35f782228656a2af31e8c73d1353cc4ef3d683fd68af1111b44631879c05e"
url: "https://pub.dev"
source: hosted
- version: "0.17.0"
+ version: "0.18.0"
tor_ffi_plugin:
dependency: "direct main"
description:
diff --git a/scripts/app_config/configure_stack_wallet.sh b/scripts/app_config/configure_stack_wallet.sh
index bf3d6c6..56da694 100755
--- a/scripts/app_config/configure_stack_wallet.sh
+++ b/scripts/app_config/configure_stack_wallet.sh
@@ -112,7 +112,7 @@ final List<CryptoCurrency> _supportedCoins = List.unmodifiable([
Fact0rn(CryptoCurrencyNetwork.main),
Firo(CryptoCurrencyNetwork.main),
Litecoin(CryptoCurrencyNetwork.main),
- if (!Platform.isMacOS) Mimblewimblecoin(CryptoCurrencyNetwork.main),
+ Mimblewimblecoin(CryptoCurrencyNetwork.main),
Nano(CryptoCurrencyNetwork.main),
Namecoin(CryptoCurrencyNetwork.main),
Particl(CryptoCurrencyNetwork.main),
diff --git a/scripts/app_config/templates/pubspec.template.yaml b/scripts/app_config/templates/pubspec.template.yaml
index d656ba8..954201c 100644
--- a/scripts/app_config/templates/pubspec.template.yaml
+++ b/scripts/app_config/templates/pubspec.template.yaml
@@ -54,7 +54,9 @@ dependencies:
# %%ENABLE_MWC%%
# flutter_libmwc:
-# path: ./crypto_plugins/flutter_libmwc
+# git:
+# url: https://github.com/cypherstack/flutter_libmwc.git
+# ref: ebf46676986b60fa61b2d89c92c6de498e1e917e
# %%END_ENABLE_MWC%%
# %%ENABLE_TOR%%
@@ -299,6 +301,10 @@ flutter_native_splash:
color_dark: "2A2D34"
dependency_overrides:
+ # required for: native_toolchain_rust >=1.0.3 depends on toml ^0.18.0
+ # stellar sdk package needs to get 0.18.0 to remove this override
+ toml: ^0.18.0
+
logger:
git:
url: https://github.com/cypherstack/logger
diff --git a/scripts/ensure_test_app_config.sh b/scripts/ensure_test_app_config.sh
index c9dccc3..417da29 100755
--- a/scripts/ensure_test_app_config.sh
+++ b/scripts/ensure_test_app_config.sh
@@ -55,7 +55,7 @@ final List<CryptoCurrency> _supportedCoins = List.unmodifiable([
Fact0rn(CryptoCurrencyNetwork.main),
Firo(CryptoCurrencyNetwork.main),
Litecoin(CryptoCurrencyNetwork.main),
- if (!Platform.isMacOS) Mimblewimblecoin(CryptoCurrencyNetwork.main),
+ Mimblewimblecoin(CryptoCurrencyNetwork.main),
Nano(CryptoCurrencyNetwork.main),
Namecoin(CryptoCurrencyNetwork.main),
Particl(CryptoCurrencyNetwork.main),
diff --git a/tool/wl_templates/MWC_libmwc_interface_impl.template.dart b/tool/wl_templates/MWC_libmwc_interface_impl.template.dart
index c88c166..01dc5c1 100644
--- a/tool/wl_templates/MWC_libmwc_interface_impl.template.dart
+++ b/tool/wl_templates/MWC_libmwc_interface_impl.template.dart
@@ -1,5 +1,4 @@
//ON
-import 'package:flutter_libmwc/git_versions.dart' as mimblewimblecoin_versions;
import 'package:flutter_libmwc/lib.dart' as mimblewimblecoin;
import 'package:flutter_libmwc/models/transaction.dart'
as mimblewimblecoin_models;
@@ -348,9 +347,6 @@ final class _LibMwcInterfaceImpl extends LibMwcInterface {
bool validateSendAddress({required String address}) {
return mimblewimblecoin.Libmwc.validateSendAddress(address: address);
}
-
- @override
- String getPluginVersion() => mimblewimblecoin_versions.getPluginVersion();
}
//END_ON
Why this scored 18/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.