Files
hash-wallet/.gitignore
T
jwinterm bba8a975cf CI: add Hash Bags Windows build workflow (manual trigger)
Self-hosted Windows runner builds an unsigned Windows Release zip with
the Flutter .exe + bundled monero/wownero DLLs + MinGW runtime DLLs +
MSVC runtime DLLs. workflow_dispatch only — triggered from the Gitea
Actions UI.

Major design points hammered out during initial bring-up:

  - Use explicit Git Bash path for `shell:` rather than `shell: bash`,
    since act_runner under LocalSystem resolves bare `bash` to
    C:\Windows\System32\bash.exe (WSL) which refuses to run as
    LocalSystem.
  - Configure git identity + safe.directory before any submodule ops,
    since LocalSystem has no global git config and scripts/monero_c/
    apply_patches.sh does git-commit-equivalents.
  - Clone torch_dart + reown_flutter from git instead of tarball — the
    upstream-published .tar.gz tarballs contain example-app
    .plugin_symlinks with absolute /home/runner paths that Windows tar
    refuses to extract.
  - Fetch monero_c prebuilt release-bundle.zip (same one Android/iOS
    use) and re-stage its x86_64-w64-mingw32 wallet DLLs into the
    layout that windows/CMakeLists.txt expects:
      scripts/monero_c/release/<coin>/x86_64-w64-mingw32_libwallet2_api_c.dll
    CMake's install() rules RENAME them to <coin>_libwallet2_api_c.dll
    in the Release dir.
  - Mirror those wallet DLLs under their lib<coin>_wallet2_api_c.dll
    Dart-FFI-expected names — package:monero's DynamicLibrary.open()
    uses a different naming convention than windows/CMakeLists.txt's
    RENAME rules.
  - Source MinGW runtime DLLs (libssp-0.dll, libwinpthread-1.dll) from
    Git for Windows' bundled mingw64/bin — has modern symbols including
    pthread_cond_timedwait64 that monero_c requires. Flutter's bundled
    mingit is too old (2017-vintage libwinpthread).

setup-windows-runner.ps1 (the one-shot toolchain installer for the
runner host) is gitignored — it's runner-side infra, not part of the
app.
2026-05-22 10:48:38 -04:00

240 lines
5.6 KiB
Plaintext

# Miscellaneous
*.class
*.log
*.pyc
*.swp
.DS_Store
.atom/
.buildlog/
.history
.svn/
.fvm/
.fvmrc
# IntelliJ related
*.iml
*.ipr
*.iws
.idea/
# The .vscode folder contains launch configuration and tasks you configure in
# VS Code which you may wish to be included in version control, so this line
# is commented out by default.
.vscode/
# Flutter/Dart/Pub related
**/doc/api/
.dart_tool/
.flutter-plugins
.packages
.pub-cache/
.pub/
/build/
.flutter-plugins-dependencies
# Android related
**/android/**/gradle-wrapper.jar
**/android/.gradle
**/android/captures/
**/android/gradlew
**/android/gradlew.bat
**/android/local.properties
**/android/**/GeneratedPluginRegistrant.java
# iOS/XCode related
**/ios/**/*.mode1v3
**/ios/**/*.mode2v3
**/ios/**/*.moved-aside
**/ios/**/*.pbxuser
**/ios/**/*.perspectivev3
**/ios/**/*sync/
**/ios/**/.sconsign.dblite
**/ios/**/.tags*
**/ios/**/.vagrant/
**/ios/**/DerivedData/
**/ios/**/Icon?
**/ios/**/Pods/
**/ios/**/.symlinks/
**/ios/**/profile
**/ios/**/xcuserdata
**/ios/.generated/
**/ios/Flutter/App.framework
**/ios/Flutter/Flutter.framework
**/ios/Flutter/Generated.xcconfig
**/ios/Flutter/app.flx
**/ios/Flutter/app.zip
**/ios/Flutter/flutter_assets/
**/ios/ServiceDefinitions.json
**/ios/Runner/GeneratedPluginRegistrant.*
**/ios/Flutter/flutter_export_environment.sh
# Exceptions to above rules.
!**/ios/**/default.mode1v3
!**/ios/**/default.mode2v3
!**/ios/**/default.pbxuser
!**/ios/**/default.perspectivev3
!/packages/flutter_tools/test/data/dart_dependencies_test/**/.packages
# External libs
monero_android/
android/app/.externalNativeBuild/
cw_monero/ios/External/
cw_monero/cw_monero/android/.externalNativeBuild/
cw_monero/cw_monero/android/.cxx/
# Generated dart files
**/*.g.dart
android/key.properties
android/app/key.jks
**/tool/.secrets-prod.json
**/tool/.secrets-test.json
**/tool/.secrets-config.json
**/tool/.evm-secrets-config.json
**/tool/.ethereum-secrets-config.json
**/tool/.solana-secrets-config.json
**/tool/.nano-secrets-config.json
**/tool/.tron-secrets-config.json
**/tool/.bitcoin-secrets-config.json
**/lib/.secrets.g.dart
**/cw_evm/lib/.secrets.g.dart
**/cw_solana/lib/.secrets.g.dart
**/cw_tron/lib/.secrets.g.dart
vendor/
android/app/.cxx/**
ios/Flutter/.last_build_id
/lib/generated/**
#**#
/**/#**#
**/google-services.json
**/GoogleService-Info.plist
\#*\#
.\#*
ios/build
*.sublime-workspace
*.sublime-project
shared_external/**
cw_shared_external/ios/External/
# cw_haven/**
cw_haven/ios/External/
cw_haven/android/.externalNativeBuild/
cw_haven/android/.cxx/
cw_zano/ios/External/
lib/bitcoin/bitcoin.dart
lib/monero/monero.dart
lib/haven/haven.dart
lib/ethereum/ethereum.dart
lib/bitcoin_cash/bitcoin_cash.dart
lib/nano/nano.dart
lib/polygon/polygon.dart
lib/solana/solana.dart
lib/tron/tron.dart
lib/wownero/wownero.dart
lib/zano/zano.dart
lib/decred/decred.dart
lib/dogecoin/dogecoin.dart
lib/base/base.dart
lib/arbitrum/arbitrum.dart
lib/evm/evm.dart
lib/zcash/zcash.dart
# Hash Wallet: keep the AppIcon Contents.json committed so a fresh clone
# can run `dart run flutter_launcher_icons` without needing the directory
# scaffold first. PNGs remain build artifacts.
# ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json
ios/Runner/Assets.xcassets/AppIcon.appiconset/*.png
ios/Runner/Info.plist
android/app/src/main/res/mipmap-*
android/app/src/main/res/drawable/ic_launcher.png
!android/app/src/main/res/drawable/launch_background.xml
!android/app/src/main/res/values/styles.xml
# Hash Wallet: keeping app_logo.png committed as the canonical brand master.
# Cake gitignored it because their build symlinks per-product variants into
# place via scripts/*/app_icon.sh; we have a single product so no swap needed.
# assets/images/app_logo.png
assets/new-ui/**/*.svg.vec
/pubspec.yaml
/pubspec.lock
/android/app.properties
/android/app/src/main/AndroidManifest.xml
macos/Runner/Info.plist
macos/Runner/DebugProfile.entitlements
macos/Runner/Release.entitlements
macos/Runner/Runner.entitlements
lib/core/secure_storage.dart
lib/core/secure_storage.dart
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png
macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png
macos/Runner/Configs/AppInfo.xcconfig
macos/Runner.xcodeproj/project.pbxproj
integration_test/playground.dart
# Monero.dart (Monero_C)
scripts/monero_c
# iOS generated framework bin
ios/MoneroWallet.framework/MoneroWallet
ios/WowneroWallet.framework/WowneroWallet
ios/ZanoWallet.framework/ZanoWallet
*_libwallet2_api_c.dylib
libuniffi_yttrium.so
.flatpak-builder
cake_wallet.flatpak
flatpak-build/
# macOS
**/Flutter/ephemeral/
**/Pods/
**/macos/Flutter/GeneratedPluginRegistrant.swift
**/macos/Flutter/ephemeral
**/xcuserdata/
# Windows
**/windows/flutter/ephemeral/
**/windows/flutter/generated_plugin_registrant.cc
**/windows/flutter/generated_plugin_registrant.h
**/windows/flutter/generated_plugins.cmake
# Linux
**/linux/flutter/ephemeral/
**/linux/flutter/generated_plugin_registrant.cc
**/linux/flutter/generated_plugin_registrant.h
**/linux/flutter/generated_plugins.cmake
scripts/torch_dart/
fiat-check-output.txt
scripts/zcash_lib
scripts/android/yttrium
scripts/bitbox_flutter
scripts/reown_flutter
# Hash Wallet: untracked notes / internal playbooks
docs/links.md
docs/UPSTREAM_SYNC.md
scripts/windows/setup-windows-runner.ps1
# Hash Wallet: local mirror of hash.boats website (deploy target on suchwow server)
hash.boats/