Files
hash-wallet/cw_core
ClaudeandOmar e3215157e6 fix(linux): don't ship libsqlite3.so as a dereferenced symlink
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
2026-09-15 16:32:43 +02:00
..

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.