# Contractless Wallet GUI This folder contains the early Contractless desktop wallet prototype. ## Required Location This wallet crate must be placed directly inside the Contractless blockchain repository root. Expected layout: ```text Contractless/ Cargo.toml src/ gui_wallet/ Cargo.toml tauri.conf.json frontend/ src/ ``` The wallet depends on the blockchain crate with: ```toml blockchain = { path = ".." } ``` Because of that, `gui wallet/` must be in the same folder that contains the Contractless `src/` folder and root `Cargo.toml`. If the wallet folder is moved somewhere else, the parent `..` path will not point at the blockchain crate and the wallet will not build. ## Layout - `frontend/` contains the static HTML, CSS, and JavaScript wallet UI. - `src/` contains the Rust/Tauri desktop app code. - `icons/`, `capabilities/`, `tauri.conf.json`, `build.rs`, `Cargo.toml`, and `Cargo.lock` are the Tauri project files. ## Build Check From `gui wallet/`: ```bash cargo check cargo build ``` ## Linux Prerequisites Tauri depends on native Linux desktop libraries. On Ubuntu/Debian, install: ```bash sudo apt update sudo apt install \ libwebkit2gtk-4.1-dev \ libgtk-3-dev \ libayatana-appindicator3-dev \ librsvg2-dev \ libdbus-1-dev \ pkg-config ``` Some older distributions may use `libwebkit2gtk-4.0-dev` instead of `libwebkit2gtk-4.1-dev`. Fedora-style systems generally need the equivalent WebKitGTK, GTK, AppIndicator/Ayatana, librsvg, DBus, and pkg-config development packages. ## Icons Tauri expects platform icon assets in `icons/`. - Windows uses `icon.ico`. - Linux expects `icon.png`.