Wallet consumers (e.g. the Qt module and apps built on it) currently have to
reconstruct LEZ's wallet path layout themselves to call create/open, which
duplicates the logic in `wallet::helperfunctions` and silently drifts if the
default home or filenames change.
Add functions that resolve everything from LEZ's canonical home
(`LEE_WALLET_HOME_DIR` or `~/.lee/wallet`):
- `wallet_ffi_create_new_default(password)` — create at the default home
(resolves paths, creates the directory), path-free `wallet_ffi_create_new`.
- `wallet_ffi_open_default()` — open the default wallet via `WalletCore::from_env`.
- `wallet_ffi_default_config_path()` / `wallet_ffi_default_storage_path()` —
return the resolved paths (caller frees with `wallet_ffi_free_string`).
- `wallet_ffi_wallet_exists_default()` — whether a wallet already exists at the
default home, for choosing between an open and a create flow.
Together these let consumers drop their own path handling entirely. The C
header (`wallet_ffi.h`) is regenerated by the cbindgen build step.
The indexer's storage location was the `home` field of IndexerConfig, used only to derive the RocksDB dir. Defaulting to "." meant it landed in the process CWD — fine for the standalone service, but wrong when the indexer runs embedded in a logos_host subprocess (RocksDB ended up in an arbitrary/unwritable dir). Storage location is an operational concern the host should own, not something baked into a user-editable config.
Remove `home` from IndexerConfig and pass the storage directory explicitly:
- core: `IndexerCore::new(config, storage_dir)` derives `<storage_dir>/rocksdb`.
- ffi: `start_indexer(runtime, config_path, storage_dir)`; null/empty storage_dir falls back to ".". Lets a host (e.g. a Logos module's instance persistence path) own where state lives.
- service: `run_server(config, storage_dir, port)` + a `--data-dir` flag (default ".") on the binary, preserving current behaviour.
- drop `home` from the committed indexer config JSONs and the test fixtures.
BREAKING CHANGE: `start_indexer` gains a `storage_dir` parameter and IndexerConfig no longer has a `home` field.