Skip to content

Commit 173bf15

Browse files
committed
Implement burn/mint backend functionality
- Enhanced CLI service with comprehensive burn/mint support - Added BurnDepositsScreen with Ethereum address validation - Updated navigation to include burn deposits screen - Added CLI binary assets for cross-platform support - Implemented burn proof generation with STARK integration - Added HEAT token calculation and validation - Enhanced error handling and user feedback
1 parent e333ff8 commit 173bf15

16 files changed

+2481
-188
lines changed

.flutter-plugins-dependencies

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{"info":"This is a generated file; do not edit or check into version control.","plugins":{"ios":[{"name":"connectivity_plus","path":"/Users/aejt/.pub-cache/hosted/pub.dev/connectivity_plus-5.0.2/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"device_info_plus","path":"/Users/aejt/.pub-cache/hosted/pub.dev/device_info_plus-10.1.2/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/Users/aejt/.pub-cache/hosted/pub.dev/file_picker-8.3.2/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_local_notifications","path":"/Users/aejt/.pub-cache/hosted/pub.dev/flutter_local_notifications-17.2.4/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_secure_storage","path":"/Users/aejt/.pub-cache/hosted/pub.dev/flutter_secure_storage-9.2.4/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"local_auth_darwin","path":"/Users/aejt/.pub-cache/hosted/pub.dev/local_auth_darwin-1.4.3/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"mobile_scanner","path":"/Users/aejt/.pub-cache/hosted/pub.dev/mobile_scanner-4.0.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"/Users/aejt/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_foundation","path":"/Users/aejt/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"url_launcher_ios","path":"/Users/aejt/.pub-cache/hosted/pub.dev/url_launcher_ios-6.3.3/","native_build":true,"dependencies":[],"dev_dependency":false}],"android":[{"name":"connectivity_plus","path":"/Users/aejt/.pub-cache/hosted/pub.dev/connectivity_plus-5.0.2/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"device_info_plus","path":"/Users/aejt/.pub-cache/hosted/pub.dev/device_info_plus-10.1.2/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/Users/aejt/.pub-cache/hosted/pub.dev/file_picker-8.3.2/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"],"dev_dependency":false},{"name":"flutter_local_notifications","path":"/Users/aejt/.pub-cache/hosted/pub.dev/flutter_local_notifications-17.2.4/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_plugin_android_lifecycle","path":"/Users/aejt/.pub-cache/hosted/pub.dev/flutter_plugin_android_lifecycle-2.0.22/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_secure_storage","path":"/Users/aejt/.pub-cache/hosted/pub.dev/flutter_secure_storage-9.2.4/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"local_auth_android","path":"/Users/aejt/.pub-cache/hosted/pub.dev/local_auth_android-1.0.43/","native_build":true,"dependencies":["flutter_plugin_android_lifecycle"],"dev_dependency":false},{"name":"mobile_scanner","path":"/Users/aejt/.pub-cache/hosted/pub.dev/mobile_scanner-4.0.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_android","path":"/Users/aejt/.pub-cache/hosted/pub.dev/path_provider_android-2.2.10/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_android","path":"/Users/aejt/.pub-cache/hosted/pub.dev/shared_preferences_android-2.3.2/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"url_launcher_android","path":"/Users/aejt/.pub-cache/hosted/pub.dev/url_launcher_android-6.3.9/","native_build":true,"dependencies":[],"dev_dependency":false}],"macos":[{"name":"connectivity_plus","path":"/Users/aejt/.pub-cache/hosted/pub.dev/connectivity_plus-5.0.2/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"device_info_plus","path":"/Users/aejt/.pub-cache/hosted/pub.dev/device_info_plus-10.1.2/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/Users/aejt/.pub-cache/hosted/pub.dev/file_picker-8.3.2/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_local_notifications","path":"/Users/aejt/.pub-cache/hosted/pub.dev/flutter_local_notifications-17.2.4/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"flutter_secure_storage_macos","path":"/Users/aejt/.pub-cache/hosted/pub.dev/flutter_secure_storage_macos-3.1.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"local_auth_darwin","path":"/Users/aejt/.pub-cache/hosted/pub.dev/local_auth_darwin-1.4.3/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"mobile_scanner","path":"/Users/aejt/.pub-cache/hosted/pub.dev/mobile_scanner-4.0.1/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_foundation","path":"/Users/aejt/.pub-cache/hosted/pub.dev/path_provider_foundation-2.4.1/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_foundation","path":"/Users/aejt/.pub-cache/hosted/pub.dev/shared_preferences_foundation-2.5.4/","shared_darwin_source":true,"native_build":true,"dependencies":[],"dev_dependency":false},{"name":"url_launcher_macos","path":"/Users/aejt/.pub-cache/hosted/pub.dev/url_launcher_macos-3.2.2/","native_build":true,"dependencies":[],"dev_dependency":false}],"linux":[{"name":"connectivity_plus","path":"/Users/aejt/.pub-cache/hosted/pub.dev/connectivity_plus-5.0.2/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"device_info_plus","path":"/Users/aejt/.pub-cache/hosted/pub.dev/device_info_plus-10.1.2/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/Users/aejt/.pub-cache/hosted/pub.dev/file_picker-8.3.2/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"flutter_local_notifications_linux","path":"/Users/aejt/.pub-cache/hosted/pub.dev/flutter_local_notifications_linux-4.0.1/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"flutter_secure_storage_linux","path":"/Users/aejt/.pub-cache/hosted/pub.dev/flutter_secure_storage_linux-1.2.3/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_linux","path":"/Users/aejt/.pub-cache/hosted/pub.dev/path_provider_linux-2.2.1/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_linux","path":"/Users/aejt/.pub-cache/hosted/pub.dev/shared_preferences_linux-2.4.1/","native_build":false,"dependencies":["path_provider_linux"],"dev_dependency":false},{"name":"url_launcher_linux","path":"/Users/aejt/.pub-cache/hosted/pub.dev/url_launcher_linux-3.2.1/","native_build":true,"dependencies":[],"dev_dependency":false}],"windows":[{"name":"connectivity_plus","path":"/Users/aejt/.pub-cache/hosted/pub.dev/connectivity_plus-5.0.2/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"device_info_plus","path":"/Users/aejt/.pub-cache/hosted/pub.dev/device_info_plus-10.1.2/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/Users/aejt/.pub-cache/hosted/pub.dev/file_picker-8.3.2/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"flutter_secure_storage_windows","path":"/Users/aejt/.pub-cache/hosted/pub.dev/flutter_secure_storage_windows-3.1.2/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"local_auth_windows","path":"/Users/aejt/.pub-cache/hosted/pub.dev/local_auth_windows-1.0.11/","native_build":true,"dependencies":[],"dev_dependency":false},{"name":"path_provider_windows","path":"/Users/aejt/.pub-cache/hosted/pub.dev/path_provider_windows-2.3.0/","native_build":false,"dependencies":[],"dev_dependency":false},{"name":"shared_preferences_windows","path":"/Users/aejt/.pub-cache/hosted/pub.dev/shared_preferences_windows-2.4.1/","native_build":false,"dependencies":["path_provider_windows"],"dev_dependency":false},{"name":"url_launcher_windows","path":"/Users/aejt/.pub-cache/hosted/pub.dev/url_launcher_windows-3.1.4/","native_build":true,"dependencies":[],"dev_dependency":false}],"web":[{"name":"connectivity_plus","path":"/Users/aejt/.pub-cache/hosted/pub.dev/connectivity_plus-5.0.2/","dependencies":[],"dev_dependency":false},{"name":"device_info_plus","path":"/Users/aejt/.pub-cache/hosted/pub.dev/device_info_plus-10.1.2/","dependencies":[],"dev_dependency":false},{"name":"file_picker","path":"/Users/aejt/.pub-cache/hosted/pub.dev/file_picker-8.3.2/","dependencies":[],"dev_dependency":false},{"name":"flutter_secure_storage_web","path":"/Users/aejt/.pub-cache/hosted/pub.dev/flutter_secure_storage_web-1.2.1/","dependencies":[],"dev_dependency":false},{"name":"mobile_scanner","path":"/Users/aejt/.pub-cache/hosted/pub.dev/mobile_scanner-4.0.1/","dependencies":[],"dev_dependency":false},{"name":"shared_preferences_web","path":"/Users/aejt/.pub-cache/hosted/pub.dev/shared_preferences_web-2.4.3/","dependencies":[],"dev_dependency":false},{"name":"url_launcher_web","path":"/Users/aejt/.pub-cache/hosted/pub.dev/url_launcher_web-2.3.3/","dependencies":[],"dev_dependency":false}]},"dependencyGraph":[{"name":"connectivity_plus","dependencies":[]},{"name":"device_info_plus","dependencies":[]},{"name":"file_picker","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"flutter_local_notifications","dependencies":["flutter_local_notifications_linux"]},{"name":"flutter_local_notifications_linux","dependencies":[]},{"name":"flutter_plugin_android_lifecycle","dependencies":[]},{"name":"flutter_secure_storage","dependencies":["flutter_secure_storage_linux","flutter_secure_storage_macos","flutter_secure_storage_web","flutter_secure_storage_windows"]},{"name":"flutter_secure_storage_linux","dependencies":[]},{"name":"flutter_secure_storage_macos","dependencies":[]},{"name":"flutter_secure_storage_web","dependencies":[]},{"name":"flutter_secure_storage_windows","dependencies":["path_provider"]},{"name":"local_auth","dependencies":["local_auth_android","local_auth_darwin","local_auth_windows"]},{"name":"local_auth_android","dependencies":["flutter_plugin_android_lifecycle"]},{"name":"local_auth_darwin","dependencies":[]},{"name":"local_auth_windows","dependencies":[]},{"name":"mobile_scanner","dependencies":[]},{"name":"path_provider","dependencies":["path_provider_android","path_provider_foundation","path_provider_linux","path_provider_windows"]},{"name":"path_provider_android","dependencies":[]},{"name":"path_provider_foundation","dependencies":[]},{"name":"path_provider_linux","dependencies":[]},{"name":"path_provider_windows","dependencies":[]},{"name":"shared_preferences","dependencies":["shared_preferences_android","shared_preferences_foundation","shared_preferences_linux","shared_preferences_web","shared_preferences_windows"]},{"name":"shared_preferences_android","dependencies":[]},{"name":"shared_preferences_foundation","dependencies":[]},{"name":"shared_preferences_linux","dependencies":["path_provider_linux"]},{"name":"shared_preferences_web","dependencies":[]},{"name":"shared_preferences_windows","dependencies":["path_provider_windows"]},{"name":"url_launcher","dependencies":["url_launcher_android","url_launcher_ios","url_launcher_linux","url_launcher_macos","url_launcher_web","url_launcher_windows"]},{"name":"url_launcher_android","dependencies":[]},{"name":"url_launcher_ios","dependencies":[]},{"name":"url_launcher_linux","dependencies":[]},{"name":"url_launcher_macos","dependencies":[]},{"name":"url_launcher_web","dependencies":[]},{"name":"url_launcher_windows","dependencies":[]}],"date_created":"2025-10-12 13:10:11.818485","version":"3.35.5","swift_package_manager_enabled":{"ios":false,"macos":false}}
Lines changed: 255 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,255 @@
1+
name: XF₲ Wallet Desktop Build & Release
2+
3+
on:
4+
push:
5+
branches: [ main, master ]
6+
paths:
7+
- 'lib/**'
8+
- 'android/**'
9+
- 'ios/**'
10+
- 'macos/**'
11+
- 'windows/**'
12+
- 'linux/**'
13+
- 'pubspec.yaml'
14+
- '.github/workflows/flutter-desktop.yml'
15+
pull_request:
16+
branches: [ main, master ]
17+
paths:
18+
- 'lib/**'
19+
- 'android/**'
20+
- 'ios/**'
21+
- 'macos/**'
22+
- 'windows/**'
23+
- 'linux/**'
24+
- 'pubspec.yaml'
25+
- '.github/workflows/flutter-desktop.yml'
26+
workflow_dispatch:
27+
release:
28+
types: [published]
29+
permissions:
30+
contents: write
31+
32+
jobs:
33+
build-macos:
34+
name: Build XF₲ Wallet (macOS)
35+
runs-on: macos-latest
36+
37+
steps:
38+
- name: Checkout code
39+
uses: actions/checkout@v4
40+
41+
- name: Set up Flutter
42+
uses: subosito/flutter-action@v2
43+
with:
44+
flutter-version: '3.24.0'
45+
channel: 'stable'
46+
47+
- name: Enable macOS desktop support
48+
run: flutter config --enable-macos-desktop
49+
50+
- name: Download xfg-stark-cli
51+
run: |
52+
curl -L -o xfg-stark-cli-macos "https://github.com/ColinRitman/xfgwin/releases/download/v0.8.8/xfg-stark-cli-macos"
53+
chmod +x xfg-stark-cli-macos
54+
mkdir -p assets/bin
55+
mv xfg-stark-cli-macos assets/bin/
56+
57+
- name: Install dependencies
58+
run: flutter pub get
59+
60+
- name: Build macOS desktop app
61+
run: flutter build macos --release
62+
63+
- name: Create app archive
64+
run: |
65+
cd build/macos/Build/Products/Release
66+
zip -r Fuego-Wallet-macOS.zip "fuego_wallet.app"
67+
68+
- name: Upload build artifacts
69+
uses: actions/upload-artifact@v4
70+
with:
71+
name: fuego-wallet-macos
72+
path: build/macos/Build/Products/Release/Fuego-Wallet-macOS.zip
73+
retention-days: 30
74+
75+
- name: Upload to Release
76+
if: github.event_name == 'release'
77+
uses: softprops/action-gh-release@v1
78+
env:
79+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
80+
with:
81+
files: build/macos/Build/Products/Release/Fuego-Wallet-macOS.zip
82+
83+
build-windows:
84+
name: Build XF₲ Wallet (Windows)
85+
runs-on: windows-latest
86+
87+
steps:
88+
- name: Checkout code
89+
uses: actions/checkout@v4
90+
91+
- name: Set up Flutter
92+
uses: subosito/flutter-action@v2
93+
with:
94+
flutter-version: '3.24.0'
95+
channel: 'stable'
96+
97+
- name: Enable Windows desktop support
98+
run: flutter config --enable-windows-desktop
99+
100+
- name: Download xfg-stark-cli
101+
run: |
102+
curl -L -o xfg-stark-cli-windows.exe "https://github.com/ColinRitman/xfgwin/releases/download/v0.8.8/xfg-stark-cli-windows.exe"
103+
New-Item -ItemType Directory -Force -Path assets\bin
104+
Move-Item xfg-stark-cli-windows.exe assets\bin\xfg-stark-cli.exe
105+
106+
- name: Install dependencies
107+
run: flutter pub get
108+
109+
- name: Build Windows desktop app
110+
run: flutter build windows --release
111+
112+
- name: Create app archive
113+
run: |
114+
if (Test-Path "build\windows\runner\Release") {
115+
cd build\windows\runner\Release
116+
Compress-Archive -Path * -DestinationPath ..\..\..\..\Fuego-Wallet-Windows.zip
117+
} elseif (Test-Path "build\windows\x64\runner\Release") {
118+
cd build\windows\x64\runner\Release
119+
Compress-Archive -Path * -DestinationPath ..\..\..\..\..\Fuego-Wallet-Windows.zip
120+
} else {
121+
Get-ChildItem build -Recurse | Where-Object { $_.Name -like "*.exe" } | Select-Object -First 1 | ForEach-Object { Compress-Archive -Path $_.DirectoryName -DestinationPath "Fuego-Wallet-Windows.zip" }
122+
}
123+
124+
- name: Upload build artifacts
125+
uses: actions/upload-artifact@v4
126+
with:
127+
name: fuego-wallet-windows
128+
path: Fuego-Wallet-Windows.zip
129+
retention-days: 30
130+
131+
- name: Upload to Release
132+
if: github.event_name == 'release'
133+
uses: softprops/action-gh-release@v1
134+
env:
135+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
136+
with:
137+
files: Fuego-Wallet-Windows.zip
138+
139+
build-linux-compat:
140+
name: Build XF₲ Wallet (Linux - GLIBC 2.35)
141+
runs-on: ubuntu-22.04
142+
143+
steps:
144+
- name: Checkout code
145+
uses: actions/checkout@v4
146+
147+
- name: Set up Flutter
148+
uses: subosito/flutter-action@v2
149+
with:
150+
flutter-version: '3.24.0'
151+
channel: 'stable'
152+
153+
- name: Download xfg-stark-cli
154+
run: |
155+
curl -L -o xfg-stark-cli-linux "https://github.com/ColinRitman/xfgwin/releases/download/v0.8.8/xfg-stark-cli-linux"
156+
chmod +x xfg-stark-cli-linux
157+
mkdir -p assets/bin
158+
mv xfg-stark-cli-linux assets/bin/
159+
160+
- name: Enable Linux desktop support
161+
run: |
162+
sudo apt-get update
163+
sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libsecret-1-dev
164+
flutter config --enable-linux-desktop
165+
166+
- name: Install dependencies
167+
run: flutter pub get
168+
169+
- name: Build Linux desktop app (GLIBC 2.35)
170+
run: |
171+
flutter build linux --release
172+
# Create a portable build by copying required libraries
173+
cd build/linux/x64/release/bundle
174+
mkdir -p lib
175+
# Copy system libraries for better compatibility
176+
cp /lib/x86_64-linux-gnu/libc.so.6 lib/ 2>/dev/null || echo "libc.so.6 not found"
177+
cp /usr/lib/x86_64-linux-gnu/libstdc++.so.6 lib/ 2>/dev/null || echo "libstdc++.so.6 not found"
178+
# Create a wrapper script that uses bundled libraries
179+
cat > run_xfg_wallet.sh << 'EOF'
180+
#!/bin/bash
181+
export LD_LIBRARY_PATH="$(dirname "$0")/lib:$LD_LIBRARY_PATH"
182+
exec "$(dirname "$0")/fuego_wallet" "$@"
183+
EOF
184+
chmod +x run_xfg_wallet.sh
185+
186+
- name: Create app archive
187+
run: |
188+
cd build/linux/x64/release/bundle
189+
tar -czf XF₲-Wallet-Linux-GLIBC-2.31.tar.gz *
190+
191+
- name: Upload build artifacts
192+
uses: actions/upload-artifact@v4
193+
with:
194+
name: xfg-wallet-linux-glibc-231
195+
path: build/linux/x64/release/bundle/XF₲-Wallet-Linux-GLIBC-2.31.tar.gz
196+
retention-days: 30
197+
198+
- name: Upload to Release
199+
if: github.event_name == 'release'
200+
uses: softprops/action-gh-release@v1
201+
with:
202+
files: build/linux/x64/release/bundle/XF₲-Wallet-Linux-GLIBC-2.31.tar.gz
203+
name: XF₲-Wallet-Linux-GLIBC-2.31.tar.gz
204+
205+
build-linux-latest:
206+
name: Build XF₲ Wallet (Linux - Latest)
207+
runs-on: ubuntu-latest
208+
209+
steps:
210+
- name: Checkout code
211+
uses: actions/checkout@v4
212+
213+
- name: Set up Flutter
214+
uses: subosito/flutter-action@v2
215+
with:
216+
flutter-version: '3.24.0'
217+
channel: 'stable'
218+
219+
- name: Download xfg-stark-cli
220+
run: |
221+
curl -L -o xfg-stark-cli-linux "https://github.com/ColinRitman/xfgwin/releases/download/v0.8.8/xfg-stark-cli-linux"
222+
chmod +x xfg-stark-cli-linux
223+
mkdir -p assets/bin
224+
mv xfg-stark-cli-linux assets/bin/
225+
226+
- name: Enable Linux desktop support
227+
run: |
228+
sudo apt-get update
229+
sudo apt-get install -y clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libsecret-1-dev
230+
flutter config --enable-linux-desktop
231+
232+
- name: Install dependencies
233+
run: flutter pub get
234+
235+
- name: Build Linux desktop app (Latest)
236+
run: flutter build linux --release
237+
238+
- name: Create app archive
239+
run: |
240+
cd build/linux/x64/release/bundle
241+
tar -czf XF₲-Wallet-Linux-Latest.tar.gz *
242+
243+
- name: Upload build artifacts
244+
uses: actions/upload-artifact@v4
245+
with:
246+
name: xfg-wallet-linux-latest
247+
path: build/linux/x64/release/bundle/XF₲-Wallet-Linux-Latest.tar.gz
248+
retention-days: 30
249+
250+
- name: Upload to Release
251+
if: github.event_name == 'release'
252+
uses: softprops/action-gh-release@v1
253+
with:
254+
files: build/linux/x64/release/bundle/XF₲-Wallet-Linux-Latest.tar.gz
255+
name: XF₲-Wallet-Linux-Latest.tar.gz

0 commit comments

Comments
 (0)