mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-26 06:08:40 +01:00
The Linux bundle installed lib/libsqlite3.so as a symlink to libsqlite3_flutter_libs_plugin.so, which holds the sqlite3 amalgamation compiled into the plugin. The release tarball dereferences that symlink, so the extracted tree carries two byte-identical copies of the same shared object with the same SONAME. Loading both maps sqlite twice and sqlite3_initialize calls through a null mutex-init pointer, segfaulting about a second after launch before any UI paints. Drop the alias and open the plugin under its real name instead, falling back to the system sqlite when it isn't there. Verified on the v6.4.4 Linux release: restoring a real symlink launches and paints, copying the file back over it reproduces the segfault. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BkQt8DaFfxs3FThEUaMPix
cw_core
Core abstractions and shared types for Cake Wallet modules.
Highlights
- Wallet primitives:
WalletBase,WalletService,WalletInfo,WalletAddresses. - Transaction primitives:
TransactionInfo,TransactionHistoryBase, directions/priorities. - Currency models:
CryptoCurrency,Erc20Token, SPL/TRON token types. - Persistence helpers: Hive adapters, path helpers (
pathForWallet), encrypted storage utils. - Node representation (
Node) and sync status types.
Usage
Extend WalletBase for a new chain and provide a WalletService implementation to create/open/restore wallets.
class MyChainWallet extends WalletBase<MyBalance, MyHistory, MyTxInfo> { /* ... */ }
class MyChainWalletService extends WalletService<New, FromSeed, FromKeys, FromHardware> { /* ... */ }
See the chain modules (e.g., cw_bitcoin, cw_evm) for complete examples.