fix(docs): Add proper descriptions to module READMEs (#2490)
T145 committed
Dec 1, 2025 at 20:47 UTC
3e4409d2ba96b020586e593d8b91684f51ea6e29
14 files changed
+450
-219
cw_bitcoin/README.md
+35
-9
@@ -1,14 +1,40 @@
1
# cw_bitcoin
2
3
-A new Flutter package project.
3
+Bitcoin-family Electrum wallet implementation used by Cake Wallet (BTC, LTC and derivatives).
4
5
-## Getting Started
5
+## Features
6
7
-This project is a starting point for a Dart
8
-[package](https://flutter.dev/developing-packages/),
9
-a library module containing code that can be shared easily across
10
-multiple Flutter or Dart projects.
7
+- Electrum client and wallet with address/UTXO management and snapshots.
8
+- Derivation via BIP‑39; receive/change chains with per-coin configs.
9
+- Create/sign/broadcast transactions; PSBT helpers and payjoin support.
10
+- Transaction history, priorities, and size-based fee calculations.
11
+- Hardware wallet support for BTC/LTC.
12
12
-For help getting started with Flutter, view our
13
-[online documentation](https://flutter.dev/docs), which offers tutorials,
14
-samples, guidance on mobile development, and a full API reference.
13
+## Getting started
14
+
15
+Use the module via app services (see `bitcoin_wallet_service.dart`, `litecoin_wallet_service.dart`). Ensure Electrum nodes are configured for the target coin.
16
+
17
+```dart
18
+final wallet = await BitcoinWallet.create(
19
+ mnemonic: '...',
20
+ password: 'secret',
21
+ walletInfo: walletInfo,
22
+ unspentCoinsInfo: unspentCoinsBox,
23
+ encryptionFileUtils: encryption,
24
+);
25
+```
26
+
27
+## Usage
28
+
29
+Send BTC with medium priority:
30
+
31
+```dart
32
+final feeRate = wallet.feeRate(BitcoinTransactionPriority.medium);
33
+final pending = await wallet.createTransaction(
34
+ outputs: [BitcoinTransactionOutput(address: 'bc1...', amount: 50000)],
35
+ feeRate: feeRate,
36
+);
37
+final txHash = await pending.commit();
38
+```
39
+
40
+See `lib/` for wallet/services, PSBT, and payjoin utilities.
cw_bitcoin_cash/README.md
+36
-26
@@ -1,39 +1,49 @@
1
-<!--
2
-This README describes the package. If you publish this package to pub.dev,
3
-this README's contents appear on the landing page for your package.
1
+## cw_bitcoin_cash
2
5
-For information about how to write a good package README, see the guide for
6
-[writing package pages](https://dart.dev/guides/libraries/writing-package-pages).
3
+Bitcoin Cash wallet module using the shared Electrum implementation configured for BCH mainnet. Includes CashAddr handling and BCH-specific fee/priority presets.
4
8
-For general information about developing packages, see the Dart guide for
9
-[creating packages](https://dart.dev/guides/libraries/create-library-packages)
10
-and the Flutter guide for
11
-[developing packages and plugins](https://flutter.dev/developing-packages).
12
--->
5
+### Features
6
14
-TODO: Put a short description of the package here that helps potential users
15
-know whether this package might be useful for them.
7
+- Derive keys via BIP‑39; maintain receive/change address chains.
8
+- Load/save snapshots of addresses, indices, and balances.
9
+- Electrum connectivity and UTXO management.
10
+- Create/sign/broadcast BCH transactions; calculate size-based fees by priority.
11
+- CashAddr compatibility for addresses; migration of legacy snapshots.
12
+- Message signing and verification.
13
17
-## Features
14
+### Getting started
15
19
-TODO: List what your package can do. Maybe include images, gifs, or videos.
16
+Create/open via the app’s wallet service using `WalletType.bitcoinCash`. Ensure BCH Electrum nodes are configured.
17
21
-## Getting started
22
-
23
-TODO: List prerequisites and provide or point to information on how to
24
-start using the package.
18
+```dart
19
+final wallet = await BitcoinCashWallet.create(
20
+ mnemonic: '...',
21
+ password: 'secret',
22
+ walletInfo: walletInfo,
23
+ unspentCoinsInfo: unspentCoinsBox,
24
+ encryptionFileUtils: encryption,
25
+);
26
+```
27
26
-## Usage
28
+### Usage
29
28
-TODO: Include short and useful examples for package users. Add longer examples
29
-to `/example` folder.
30
+Fee calculation and send:
31
32
```dart
32
-const like = 'sample';
33
+final feeRate = wallet.feeRate(BitcoinCashTransactionPriority.medium);
34
+final pending = await wallet.createTransaction(
35
+ outputs: [
36
+ BitcoinTransactionOutput(
37
+ address: 'bitcoincash:qq...',
38
+ amount: 10000, // satoshis
39
+ ),
40
+ ],
41
+ feeRate: feeRate,
42
+);
43
+final txHash = await pending.commit();
44
```
45
35
-## Additional information
46
+### Additional information
47
37
-TODO: Tell users more about the package: where to find more information, how to
38
-contribute to the package, how to file issues, what response they can expect
39
-from the package authors, and more.
48
+- See `lib/src/` for: `BitcoinCashWallet`, `BitcoinCashWalletAddresses`, and helpers in `bitcoin_cash_base.dart`.
49
+- Snapshot migration and CashAddr normalization are handled during open.
cw_core/README.md
+17
-9
@@ -1,14 +1,22 @@
1
# cw_core
2
3
-A new Flutter package project.
3
+Core abstractions and shared types for Cake Wallet modules.
4
5
-## Getting Started
5
+## Highlights
6
7
-This project is a starting point for a Dart
8
-[package](https://flutter.dev/developing-packages/),
9
-a library module containing code that can be shared easily across
10
-multiple Flutter or Dart projects.
7
+- Wallet primitives: `WalletBase`, `WalletService`, `WalletInfo`, `WalletAddresses`.
8
+- Transaction primitives: `TransactionInfo`, `TransactionHistoryBase`, directions/priorities.
9
+- Currency models: `CryptoCurrency`, `Erc20Token`, SPL/TRON token types.
10
+- Persistence helpers: Hive adapters, path helpers (`pathForWallet`), encrypted storage utils.
11
+- Node representation (`Node`) and sync status types.
12
12
-For help getting started with Flutter, view our
13
-[online documentation](https://flutter.dev/docs), which offers tutorials,
14
-samples, guidance on mobile development, and a full API reference.
13
+## Usage
14
+
15
+Extend `WalletBase` for a new chain and provide a `WalletService` implementation to create/open/restore wallets.
16
+
17
+```dart
18
+class MyChainWallet extends WalletBase<MyBalance, MyHistory, MyTxInfo> { /* ... */ }
19
+class MyChainWalletService extends WalletService<New, FromSeed, FromKeys, FromHardware> { /* ... */ }
20
+```
21
+
22
+See the chain modules (e.g., `cw_bitcoin`, `cw_evm`) for complete examples.
cw_decred/README.md
+45
-1
@@ -1,3 +1,47 @@
1
# cw_decred
2
3
-TODO: Fill this out.
3
+Decred wallet module that bridges to the native `libdcrwallet` via FFI. Provides high‑level methods to create/load wallets, sync, query balances/transactions, build and broadcast transactions, and sign/verify messages.
4
+
5
+## Features
6
+
7
+- FFI bindings to `libdcrwallet` with an isolate‑based request/response model.
8
+- Initialize, create, load, close wallets; watch‑only creation.
9
+- Start sync with optional peer list; query sync status and best block.
10
+- Query balances, list transactions and unspents, rescan from height.
11
+- Create signed transactions and broadcast raw transactions.
12
+- Export wallet seed; change wallet password.
13
+- Address management (new external address, default pubkey, address lists).
14
+- Message signing and verification.
15
+
16
+## Getting started
17
+
18
+Ensure the platform library is available:
19
+
20
+- Android/Linux: `libdcrwallet.so`
21
+- Apple: embedded `cw_decred.framework/cw_decred`
22
+
23
+Initialize and load a wallet:
24
+
25
+```dart
26
+final lib = await Libwallet.spawn();
27
+await lib.initLibdcrwallet('', 'info');
28
+await lib.loadWallet(jsonEncode({ /* libdcrwallet config */ }));
29
+await lib.startSync('wallet.db', '');
30
+final status = await lib.syncStatus('wallet.db');
31
+```
32
+
33
+## Usage
34
+
35
+Create, sign, and broadcast a transaction:
36
+
37
+```dart
38
+final signed = await lib.createSignedTransaction('wallet.db', jsonEncode({
39
+ // inputs/outputs and policy for libdcrwallet
40
+}));
41
+final txid = await lib.sendRawTransaction('wallet.db', signed);
42
+```
43
+
44
+## Additional information
45
+
46
+- See `lib/api/` for the isolate wrapper (`libdcrwallet.dart`) and low‑level bindings.
47
+- Errors are surfaced via the `PayloadResult` struct; some calls support `throwOnError` in higher‑level wrappers.
cw_dogecoin/README.md
+35
-26
@@ -1,39 +1,48 @@
1
-<!--
2
-This README describes the package. If you publish this package to pub.dev,
3
-this README's contents appear on the landing page for your package.
1
+## cw_dogecoin
2
5
-For information about how to write a good package README, see the guide for
6
-[writing package pages](https://dart.dev/tools/pub/writing-package-pages).
3
+Dogecoin wallet module using the shared Bitcoin Electrum implementation (`cw_bitcoin`) configured for Dogecoin mainnet.
4
8
-For general information about developing packages, see the Dart guide for
9
-[creating packages](https://dart.dev/guides/libraries/create-packages)
10
-and the Flutter guide for
11
-[developing packages and plugins](https://flutter.dev/to/develop-packages).
12
--->
5
+### Features
6
14
-TODO: Put a short description of the package here that helps potential users
15
-know whether this package might be useful for them.
7
+- Derive keys via BIP‑39; Dogecoin HD paths using `bitcoin_base`.
8
+- Connect to Electrum nodes; maintain address sets and UTXOs.
9
+- Create/sign/broadcast DOGE transactions with configurable fee rate.
10
+- Address book and index management (receive/change, auto-generate settings).
11
+- Message signing and verification.
12
17
-## Features
13
+### Getting started
14
19
-TODO: List what your package can do. Maybe include images, gifs, or videos.
15
+Create/open via `DogecoinWalletService` in the app using `WalletType.dogecoin`. Ensure Electrum nodes are configured for Dogecoin.
16
21
-## Getting started
22
-
23
-TODO: List prerequisites and provide or point to information on how to
24
-start using the package.
17
+```dart
18
+final wallet = await DogeCoinWallet.create(
19
+ mnemonic: '...',
20
+ password: 'secret',
21
+ walletInfo: walletInfo,
22
+ unspentCoinsInfo: unspentCoinsBox,
23
+ encryptionFileUtils: encryption,
24
+);
25
+```
26
26
-## Usage
27
+### Usage
28
28
-TODO: Include short and useful examples for package users. Add longer examples
29
-to `/example` folder.
29
+Estimate fee and send:
30
31
```dart
32
-const like = 'sample';
32
+final feeRate = wallet.feeRate(BitcoinCashTransactionPriority.medium); // example priority mapping
33
+final pending = await wallet.createTransaction(
34
+ outputs: [
35
+ BitcoinTransactionOutput(
36
+ address: 'D...',
37
+ amount: 1 * 100000000, // 1 DOGE in koinu
38
+ ),
39
+ ],
40
+ feeRate: feeRate,
41
+);
42
+final txHash = await pending.commit();
43
```
44
35
-## Additional information
45
+### Additional information
46
37
-TODO: Tell users more about the package: where to find more information, how to
38
-contribute to the package, how to file issues, what response they can expect
39
-from the package authors, and more.
47
+- See `lib/src/` for classes: `DogeCoinWallet`, `DogeCoinWalletAddresses`.
48
+- Relies on core Electrum features in `cw_bitcoin` for UTXO selection and persistence.
cw_ethereum/README.md
+50
-25
@@ -1,39 +1,64 @@
1
-<!--
2
-This README describes the package. If you publish this package to pub.dev,
3
-this README's contents appear on the landing page for your package.
1
+## cw_ethereum
2
5
-For information about how to write a good package README, see the guide for
6
-[writing package pages](https://dart.dev/guides/libraries/writing-package-pages).
3
+Ethereum wallet module built on `cw_evm`. Supports native ETH and ERC‑20 tokens, with history fetched via Etherscan.
4
8
-For general information about developing packages, see the Dart guide for
9
-[creating packages](https://dart.dev/guides/libraries/create-library-packages)
10
-and the Flutter guide for
11
-[developing packages and plugins](https://flutter.dev/developing-packages).
12
--->
5
+### Features
6
14
-TODO: Put a short description of the package here that helps potential users
15
-know whether this package might be useful for them.
7
+- EVM client specialized for Ethereum mainnet (chainId 1).
8
+- Default ERC‑20 token list and wallet‑scoped token storage/migration.
9
+- History via Etherscan v2 API (external, internal, and token transfers).
10
+- EIP‑1559 fee support; gas estimation per transaction intent.
11
+- Create/sign native and ERC‑20 transfers; approvals; broadcast.
12
+- Manage ERC‑20 tokens and balances; metadata lookup when needed.
13
+- Message signing and verification.
14
+- Node health checks for native and USDC token balance.
15
17
-## Features
16
+### Getting started
17
19
-TODO: List what your package can do. Maybe include images, gifs, or videos.
18
+Add shared EVM secrets (see `cw_evm` README):
19
21
-## Getting started
20
+```dart
21
+// cw_evm/lib/.secrets.g.dart (DO NOT COMMIT)
22
+const String etherScanApiKey = 'YOUR_ETHERSCAN_KEY';
23
+const String nowNodesApiKey = 'YOUR_NOWNODES_KEY'; // if using eth.nownodes.io
24
+const String moralisApiKey = 'YOUR_MORALIS_KEY'; // optional
25
+```
26
+
27
+Connect and sync:
28
23
-TODO: List prerequisites and provide or point to information on how to
24
-start using the package.
29
+```dart
30
+final service = EthereumWalletService(walletInfoBox, true, client: EthereumClient());
31
+final wallet = await service.create(EVMChainNewWalletCredentials(name: 'My ETH', password: 'secret'));
32
+await wallet.connectToNode(node: Node(uriRaw: 'eth.llamarpc.com', isSSL: true));
33
+await wallet.startSync();
34
+```
35
26
-## Usage
36
+### Usage
37
+
38
+Send ETH:
39
+
40
+```dart
41
+final pending = await wallet.createTransaction(
42
+ EVMChainTransactionCredentials.single(
43
+ address: '0x...',
44
+ cryptoAmount: '0.05',
45
+ currency: CryptoCurrency.eth,
46
+ priority: EVMChainTransactionPriority.medium,
47
+ ),
48
+);
49
+final hash = await pending.commit();
50
+```
51
28
-TODO: Include short and useful examples for package users. Add longer examples
29
-to `/example` folder.
52
+Add an ERC‑20 token and refresh balance:
53
54
```dart
32
-const like = 'sample';
55
+final token = await wallet.getErc20Token('0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', 'eth'); // USDC
56
+if (token != null) {
57
+ await wallet.addErc20Token(token);
58
+}
59
```
60
35
-## Additional information
61
+### Additional information
62
37
-TODO: Tell users more about the package: where to find more information, how to
38
-contribute to the package, how to file issues, what response they can expect
39
-from the package authors, and more.
63
+- Toggle Etherscan usage via shared preferences key `use_etherscan`.
64
+- See `lib/` for APIs: `EthereumClient`, `EthereumWallet`, `EthereumWalletService`.
cw_evm/README.md
+39
-26
@@ -1,39 +1,52 @@
1
-<!--
2
-This README describes the package. If you publish this package to pub.dev,
3
-this README's contents appear on the landing page for your package.
1
+## cw_evm
2
5
-For information about how to write a good package README, see the guide for
6
-[writing package pages](https://dart.dev/guides/libraries/writing-package-pages).
3
+Shared EVM-chain wallet foundation for Cake Wallet. Provides common client/wallet abstractions used by `cw_ethereum`, `cw_polygon`, and other EVM chains.
4
8
-For general information about developing packages, see the Dart guide for
9
-[creating packages](https://dart.dev/guides/libraries/create-library-packages)
10
-and the Flutter guide for
11
-[developing packages and plugins](https://flutter.dev/developing-packages).
12
--->
5
+### What it provides
6
14
-TODO: Put a short description of the package here that helps potential users
15
-know whether this package might be useful for them.
7
+- `EVMChainClient` (Web3 + HTTP):
8
+ - Connect to RPC (supports NowNodes short hosts with API key).
9
+ - Read balance, gas price/base fee, estimate gas, send raw tx, watch tx.
10
+ - Sign native and ERC‑20 transactions; build approval calldata.
11
+ - Fetch ERC‑20 metadata (via Moralis) and balances.
12
+- `EVMChainWallet`:
13
+ - Derive keys from BIP‑39 or use private key / Ledger (`EvmLedgerCredentials`).
14
+ - EIP‑1559 fee calculation with priority presets; Polygon-specific tuning.
15
+ - ERC‑20 token box per wallet; add/remove tokens and maintain balances.
16
+ - Transaction history assembly (external/internal + token transfers).
17
+ - Message sign/verify helpers.
18
+- `EVMChainWalletService`: common create/open/restore/rename lifecycle.
19
17
-## Features
20
+### Secrets
21
19
-TODO: List what your package can do. Maybe include images, gifs, or videos.
22
+Create `cw_evm/lib/.secrets.g.dart` (do not commit):
23
21
-## Getting started
22
-
23
-TODO: List prerequisites and provide or point to information on how to
24
-start using the package.
24
+```dart
25
+const String nowNodesApiKey = '...'; // used for eth.nownodes.io / matic.nownodes.io
26
+const String etherScanApiKey = '...'; // Etherscan v2 API key (incl. Polygon)
27
+const String moralisApiKey = '...'; // optional, ERC-20 metadata lookup
28
+```
29
26
-## Usage
30
+### Extending to a new EVM chain
31
28
-TODO: Include short and useful examples for package users. Add longer examples
29
-to `/example` folder.
32
+Create a client and wallet subclass:
33
34
```dart
32
-const like = 'sample';
35
+class MyChainClient extends EVMChainClient {
36
+ @override
37
+ int get chainId => 8453; // example
38
+ @override
39
+ Uint8List prepareSignedTransactionForSending(Uint8List tx) => tx;
40
+ @override
41
+ Future<List<EVMChainTransactionModel>> fetchTransactions(String address, {String? contractAddress}) async { /* ... */ }
42
+ @override
43
+ Future<List<EVMChainTransactionModel>> fetchInternalTransactions(String address) async { /* ... */ }
44
+}
45
```
46
35
-## Additional information
47
+Then wire into a `WalletService` similar to `EthereumWalletService`/`PolygonWalletService`.
48
+
49
+### Additional information
50
37
-TODO: Tell users more about the package: where to find more information, how to
38
-contribute to the package, how to file issues, what response they can expect
39
-from the package authors, and more.
51
+- Uses `web3dart` under the hood and integrates with Cake Wallet’s `cw_core` types.
52
+- See `lib/` for the reference implementation details.
cw_monero/README.md
+11
-2
@@ -1,5 +1,14 @@
1
# cw_monero
2
3
-This project is part of Cake Wallet app.
3
+Monero wallet module for Cake Wallet, backed by native bindings to Monero’s wallet library and high-level Dart wrappers.
4
5
-Copyright (c) 2020 Cake Technologies LLC.
\ No newline at end of file
5
+## Features
6
+
7
+- Create/open/restore Monero wallets; manage accounts and subaddresses.
8
+- Build/sign/broadcast transactions; track history and unspent outputs.
9
+- Ledger hardware wallet support.
10
+- Exception types for common wallet operations.
11
+
12
+## Usage
13
+
14
+See `lib/api/wallet.dart`, `wallet_manager.dart`, and high-level wrappers like `monero_wallet.dart` and `monero_wallet_service.dart` in the app for examples of creating and managing wallets.
cw_mweb/README.md
+7
-9
@@ -1,15 +1,13 @@
1
# cw_mweb
2
3
-A new Flutter plugin project.
3
+MimbleWimble Extension Blocks (MWEB) integration bridge for Cake Wallet modules that support MWEB-enabled chains.
4
5
-## Getting Started
5
+## Features
6
7
-This project is a starting point for a Flutter
8
-[plug-in package](https://flutter.dev/developing-packages/),
9
-a specialized package that includes platform-specific implementation code for
10
-Android and/or iOS.
7
+- Dart platform interface and method-channel implementation.
8
+- Protobuf stubs for `mwebd` interactions (`mwebd.pb*.dart`).
9
+- Provides a uniform API surface for MWEB-capable coins.
10
12
-For help getting started with Flutter development, view the
13
-[online documentation](https://flutter.dev/docs), which offers tutorials,
14
-samples, guidance on mobile development, and a full API reference.
11
+## Usage
12
13
+Import `cw_mweb` and use the platform interface to interact with an MWEB daemon/binding. See the chain-specific modules for concrete usage.
cw_polygon/README.md
+49
-25
@@ -1,39 +1,63 @@
1
-<!--
2
-This README describes the package. If you publish this package to pub.dev,
3
-this README's contents appear on the landing page for your package.
1
+## cw_polygon
2
5
-For information about how to write a good package README, see the guide for
6
-[writing package pages](https://dart.dev/guides/libraries/writing-package-pages).
3
+Polygon (PoS) wallet module built on the shared EVM base (`cw_evm`). Supports native MATIC and ERC‑20 tokens with PolygonScan-backed history.
4
8
-For general information about developing packages, see the Dart guide for
9
-[creating packages](https://dart.dev/guides/libraries/create-library-packages)
10
-and the Flutter guide for
11
-[developing packages and plugins](https://flutter.dev/developing-packages).
12
--->
5
+### Features
6
14
-TODO: Put a short description of the package here that helps potential users
15
-know whether this package might be useful for them.
7
+- EVM chain integration (chainId 137) with `web3dart`.
8
+- Default ERC‑20 token list and per‑wallet token box.
9
+- History via Etherscan v2 API (Polygon chain id) and internal tx support.
10
+- Fee handling tuned for Polygon (priority fee floor, legacy gasPrice when needed).
11
+- Create/sign native and ERC‑20 transfers; approvals; send/broadcast.
12
+- Manage tokens (enable/disable, add/remove) and balances.
13
+- Message signing and verification.
14
17
-## Features
15
+### Getting started
16
19
-TODO: List what your package can do. Maybe include images, gifs, or videos.
17
+Provide secrets used by the shared EVM layer in `cw_evm/lib/.secrets.g.dart`:
18
21
-## Getting started
19
+```dart
20
+// cw_evm/lib/.secrets.g.dart (DO NOT COMMIT)
21
+const String etherScanApiKey = 'YOUR_ETHERSCAN_KEY';
22
+const String nowNodesApiKey = 'YOUR_NOWNODES_KEY'; // if using matic.nownodes.io
23
+const String moralisApiKey = 'YOUR_MORALIS_KEY'; // optional: ERC20 metadata
24
+```
25
+
26
+Connect and sync:
27
23
-TODO: List prerequisites and provide or point to information on how to
24
-start using the package.
28
+```dart
29
+final service = PolygonWalletService(walletInfoBox, true, client: PolygonClient());
30
+final wallet = await service.create(EVMChainNewWalletCredentials(name: 'My POL', password: 'secret'));
31
+await wallet.connectToNode(node: Node(uriRaw: 'polygon-rpc.com', isSSL: true));
32
+await wallet.startSync();
33
+```
34
26
-## Usage
35
+### Usage
36
+
37
+Send MATIC:
38
+
39
+```dart
40
+final pending = await wallet.createTransaction(
41
+ EVMChainTransactionCredentials.single(
42
+ address: '0x...',
43
+ cryptoAmount: '0.2',
44
+ currency: CryptoCurrency.maticpoly,
45
+ priority: EVMChainTransactionPriority.medium,
46
+ ),
47
+);
48
+final hash = await pending.commit();
49
+```
50
28
-TODO: Include short and useful examples for package users. Add longer examples
29
-to `/example` folder.
51
+Add an ERC‑20 token and refresh balance:
52
53
```dart
32
-const like = 'sample';
54
+final token = await wallet.getErc20Token('0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174', 'polygon'); // USDC
55
+if (token != null) {
56
+ await wallet.addErc20Token(token);
57
+}
58
```
59
35
-## Additional information
60
+### Additional information
61
37
-TODO: Tell users more about the package: where to find more information, how to
38
-contribute to the package, how to file issues, what response they can expect
39
-from the package authors, and more.
62
+- Toggle PolygonScan usage via shared preferences key `use_polygonscan`.
63
+- See `lib/` for APIs: `PolygonClient`, `PolygonWallet`, `PolygonWalletService`.
cw_solana/README.md
+49
-25
@@ -1,39 +1,63 @@
1
-<!--
2
-This README describes the package. If you publish this package to pub.dev,
3
-this README's contents appear on the landing page for your package.
1
+## cw_solana
2
5
-For information about how to write a good package README, see the guide for
6
-[writing package pages](https://dart.dev/guides/libraries/writing-package-pages).
3
+Solana wallet module for Cake Wallet. Provides native SOL and SPL token support built on `on_chain/solana` with high-throughput RPC usage and safe transaction parsing.
4
8
-For general information about developing packages, see the Dart guide for
9
-[creating packages](https://dart.dev/guides/libraries/create-library-packages)
10
-and the Flutter guide for
11
-[developing packages and plugins](https://flutter.dev/developing-packages).
12
--->
5
+### Features
6
14
-TODO: Put a short description of the package here that helps potential users
15
-know whether this package might be useful for them.
7
+- Connect to Solana RPC (Ankr/Chainstack/custom) via `SolanaRPC` over HTTP.
8
+- Fetch SOL balances and aggregate SPL token balances across accounts.
9
+- Parse and stream native and SPL token transactions (filters ATA-only and spam-like micro txs).
10
+- Estimate fees per compiled message and enforce rent-exemption checks.
11
+- Create/sign/broadcast SOL and SPL transfers; auto-create recipient ATA when necessary.
12
+- Manage SPL tokens; fetch on-chain metadata (symbol/name) for unknown mints.
13
+- Sign and verify messages.
14
+- Node health checks for SOL and a known SPL token (USDC).
15
17
-## Features
16
+### Getting started
17
19
-TODO: List what your package can do. Maybe include images, gifs, or videos.
18
+If you use hosted RPC providers, add a secrets file for keys (optional unless using those hosts):
19
21
-## Getting started
20
+```dart
21
+// cw_solana/lib/.secrets.g.dart (DO NOT COMMIT)
22
+const String ankrApiKey = 'YOUR_ANKR_KEY';
23
+const String chainStackApiKey = 'YOUR_CHAINSTACK_KEY';
24
+```
25
+
26
+Connect and sync:
27
23
-TODO: List prerequisites and provide or point to information on how to
24
-start using the package.
28
+```dart
29
+final service = SolanaWalletService(walletInfoBox, true);
30
+final wallet = await service.create(SolanaNewWalletCredentials(name: 'My SOL', password: 'secret'));
31
+await wallet.connectToNode(node: Node(uriRaw: 'api.mainnet-beta.solana.com', isSSL: true));
32
+await wallet.startSync();
33
+final sol = wallet.balance[CryptoCurrency.sol]?.balance;
34
+```
35
26
-## Usage
36
+### Usage
37
+
38
+Send SOL:
39
+
40
+```dart
41
+final pending = await wallet.createTransaction(
42
+ SolanaTransactionCredentials.single(
43
+ address: 'SoL...',
44
+ cryptoAmount: '0.05',
45
+ currency: CryptoCurrency.sol,
46
+ ),
47
+);
48
+final sig = await pending.commit();
49
+```
50
28
-TODO: Include short and useful examples for package users. Add longer examples
29
-to `/example` folder.
51
+Add an SPL token by mint:
52
53
```dart
32
-const like = 'sample';
54
+final token = await wallet.getSPLToken('EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'); // USDC
55
+if (token != null) {
56
+ await wallet.addSPLToken(token);
57
+}
58
```
59
35
-## Additional information
60
+### Additional information
61
37
-TODO: Tell users more about the package: where to find more information, how to
38
-contribute to the package, how to file issues, what response they can expect
39
-from the package authors, and more.
62
+- When using `rpc.ankr.com` or `solana-mainnet.core.chainstack.com`, the client reads API keys from `.secrets.g.dart`.
63
+- See `lib/` for APIs: `SolanaWalletClient`, `SolanaWallet`, `SolanaWalletService`, and credential types.
cw_tron/README.md
+49
-25
@@ -1,39 +1,63 @@
1
-<!--
2
-This README describes the package. If you publish this package to pub.dev,
3
-this README's contents appear on the landing page for your package.
1
+## cw_tron
2
5
-For information about how to write a good package README, see the guide for
6
-[writing package pages](https://dart.dev/guides/libraries/writing-package-pages).
3
+TRON wallet module for Cake Wallet. Implements TRX and TRC-20 token support on top of `on_chain` (Tron), with transaction history and fee estimation via TronGrid.
4
8
-For general information about developing packages, see the Dart guide for
9
-[creating packages](https://dart.dev/guides/libraries/create-library-packages)
10
-and the Flutter guide for
11
-[developing packages and plugins](https://flutter.dev/developing-packages).
12
--->
5
+### Features
6
14
-TODO: Put a short description of the package here that helps potential users
15
-know whether this package might be useful for them.
7
+- Connect to TRON nodes over HTTP(S) via `TronProvider`/`TronHTTPProvider`.
8
+- Fetch TRX balance and TRC-20 token balances.
9
+- Estimate fees using bandwidth/energy and memo fee; accounts for available account resources.
10
+- Create and sign TRX and TRC-20 transfers (supports send-all and optional memo).
11
+- Broadcast signed transactions.
12
+- Load account history (TRX and TRC-20), filtering spam and TRC10-only events.
13
+- Manage TRC-20 tokens: add/remove tokens and fetch token metadata.
14
+- Sign/verify messages.
15
+- Node health checks for both native and token balance endpoints.
16
17
-## Features
17
+### Getting started
18
19
-TODO: List what your package can do. Maybe include images, gifs, or videos.
19
+Provide a TRON RPC endpoint and a TronGrid API key. Add a secrets file:
20
21
-## Getting started
21
+```dart
22
+// cw_tron/lib/.secrets.g.dart (DO NOT COMMIT)
23
+const String tronGridApiKey = 'YOUR_TRONGRID_API_KEY';
24
+```
25
+
26
+Basic connect and sync:
27
23
-TODO: List prerequisites and provide or point to information on how to
24
-start using the package.
28
+```dart
29
+final service = TronWalletService(walletInfoBox, client: TronClient(), isDirect: true);
30
+final wallet = await service.create(TronNewWalletCredentials(name: 'My TRON', password: 'secret'));
31
+await wallet.connectToNode(node: Node(uriRaw: 'api.trongrid.io', isSSL: true));
32
+await wallet.startSync();
33
+final trxBalance = wallet.balance[CryptoCurrency.trx];
34
+```
35
26
-## Usage
36
+### Usage
37
+
38
+Send TRX:
39
+
40
+```dart
41
+final pending = await wallet.createTransaction(
42
+ TronTransactionCredentials.single(
43
+ address: 'T...',
44
+ cryptoAmount: '1.5',
45
+ currency: CryptoCurrency.trx,
46
+ ),
47
+);
48
+final txHash = await pending.commit();
49
+```
50
28
-TODO: Include short and useful examples for package users. Add longer examples
29
-to `/example` folder.
51
+Add USDT (TRC-20):
52
53
```dart
32
-const like = 'sample';
54
+final usdt = await wallet.getTronToken('TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t');
55
+if (usdt != null) {
56
+ await wallet.addTronToken(usdt);
57
+}
58
```
59
35
-## Additional information
60
+### Additional information
61
37
-TODO: Tell users more about the package: where to find more information, how to
38
-contribute to the package, how to file issues, what response they can expect
39
-from the package authors, and more.
62
+- History and token queries use TronGrid; set `tronGridApiKey`.
63
+- See `lib/` for APIs: `TronClient`, `TronWallet`, `TronWalletService`, and credential types.
cw_wownero/README.md
+11
-2
@@ -1,5 +1,14 @@
1
# cw_wownero
2
3
-This project is part of Cake Wallet app.
3
+Wownero wallet module for Cake Wallet, providing a Monero-family wallet with Wownero-specific APIs and bindings.
4
5
-Copyright (c) 2020 Cake Technologies LLC.
\ No newline at end of file
5
+## Features
6
+
7
+- Create/open/restore Wownero wallets; accounts and subaddresses.
8
+- Build/sign/broadcast transactions; history and unspent outputs.
9
+- Platform interface and method channel for native bindings.
10
+- Exception types for setup, creation, opening, and restore flows.
11
+
12
+## Usage
13
+
14
+See `lib/api/` and high-level wrappers like `wownero_wallet.dart` and `wownero_wallet_service.dart` for end-to-end wallet lifecycle and usage.
cw_zano/README.md
+17
-9
@@ -1,15 +1,23 @@
1
# cw_zano
2
3
-A new flutter plugin project.
3
+Zano wallet module for Cake Wallet. Provides a Dart wrapper around the Zano wallet API with typed models and transaction helpers.
4
5
-## Getting Started
5
+## Features
6
7
-This project is a starting point for a Flutter
8
-[plug-in package](https://flutter.dev/developing-packages/),
9
-a specialized package that includes platform-specific implementation code for
10
-Android and/or iOS.
7
+- Wallet lifecycle and status queries via `ZanoWalletApi`.
8
+- Typed models for balances, transfers, recent history, and wallet info.
9
+- Build and submit transfers; pending transaction modeling.
10
+- Address and asset utilities, formatter helpers.
11
12
-For help getting started with Flutter, view our
13
-[online documentation](https://flutter.dev/docs), which offers tutorials,
14
-samples, guidance on mobile development, and a full API reference.
12
+## Usage
13
14
+See `lib/zano_wallet_api.dart` and `lib/zano_wallet.dart` for the high-level API. Typical flow:
15
+
16
+```dart
17
+final api = ZanoWalletApi();
18
+final info = await api.getWalletInfo();
19
+final balance = await api.getBalance();
20
+// create transfer params and broadcast
21
+```
22
+
23
+Consult `lib/api/model/` for full set of supported request/response models.