ironclad-cli 0.1.1

Ironclad - DPL smart contract development framework for dchat
# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.1.1] - 2025-01-03

### Fixed

- **IDL Generation**: Complete rewrite of IDL extraction to parse Rust source files instead of attempting to extract from WASM manifest
  - Now properly extracts instructions, accounts, types, events, and errors from `src/lib.rs`
  - Parses `#[program]` module to extract instruction functions and their arguments
  - Parses `#[derive(Accounts)]` structs to extract account context definitions
  - Parses `#[account]` structs to extract state type definitions with discriminators
  - Parses `#[event]` structs to extract event definitions with fields and discriminators
  - Parses `#[error_code]` enums to extract error codes and messages
  - Parses borsh-serializable enums as type definitions
  - Computes FNV-1a discriminators matching the DPL macro implementation

### Added

- Dependencies: `syn`, `quote`, `proc-macro2` for Rust source parsing

## [0.1.0] - 2025-12-28

### Added

- Initial release of Ironclad CLI
- `ironclad init` - Initialize new DPL smart contract projects with templates
  - Counter template for basic state management
  - Escrow template for multi-party conditional transfers
  - Token template for fungible token implementation
  - Custom/empty template for starting from scratch
- `ironclad build` - Build smart contracts to WASM
  - Support for debug and release builds
  - Automatic IDL generation
  - Schema verification
- `ironclad test` - Run unit and integration tests
- `ironclad verify` - Verify program manifest and schema hashes
- `ironclad deploy` - Deploy programs to dchat networks
  - Support for localnet, devnet, testnet, and mainnet
- `ironclad upgrade` - Upgrade existing deployed programs
- `ironclad idl` - IDL management commands
  - Extract IDL from WASM binaries
  - Compute IDL schema hashes
  - Validate IDL files
  - Generate TypeScript clients (experimental)
- `ironclad info` - Display program information
- `ironclad config` - Configuration management
- `ironclad clean` - Clean build artifacts
- `ironclad completions` - Generate shell completions for bash, zsh, fish, PowerShell
- Project configuration via `Ironclad.toml`
- Multi-network configuration support
- Colored terminal output with progress indicators

### Changed

- Default WASM target changed to `wasm32-wasip1` for better WASI support

### Security

- All network communications use HTTPS
- Keypair files are validated before use
- Manifest verification prevents deployment of tampered programs

[Unreleased]: https://github.com/dchat/dchat/compare/ironclad-cli-v0.1.0...HEAD
[0.1.0]: https://github.com/dchat/dchat/releases/tag/ironclad-cli-v0.1.0