# rush-svm
> [!IMPORTANT]
> This package contains the shared modules across programs and tests most notably the following:
- **Instruction** Enum
- **State** structs
- **PDA** Helpers
- **Error** - SVM-Space Error
- **Macros**
- **Client** (Non Generated)
> [!CAUTION]
> Onchain programs don't support some dependencies in client-side Solana (e.g. `getrandom`). To prevent unsupported module errors, **Program-specific** code is separated from **Client-specific** code with the `#[cfg(target_os = "solana")` compilation flag.