- espressocash_app: full-fledged mobile wallet for iOS and Android on Solana built with solana library.
- The solana library. This is the implementation of the Solana transaction codec and the JSON RPC api.
- The jsonrpc_client is used to generate the RPC api methods from their definitions. This technique helps us stick to the DRY principle very easily.
- The Borsh serialization package which is itself divided in two packages borsh and borsh_annotation. The former is a code generator that generates borsh serialization and deserialization for a Dart class. And the latter is an annotation used to annotate these classes.
- The solana_mobile_wallet and solana_mobile_client packages. The former is a reference implementation of the Solana Mobile Wallet Adapter, containing a Fake Wallet to exemplify the scenario callbacks. The latter is the client-side implementation for the solana_mobile_wallet scenarios, also containing a Fake DApp example.
- The solana_seed_vault package, which implements the Solana Seed Vault SDK for Flutter.