charms-sdk 0.3.2

Charms SDK: the only dependency needed to build ZK apps on Bitcoin
Documentation
This is the only crate you need to get started coding a Charms app.

## Usage

Run this command to create a new Charms app:

```sh
charms app new my-app
```

It will create a new directory called `my-app` with a basic Charms app template.

It'll have this in `Cargo.toml`:

```toml
[dependencies]
charms-sdk = { version = "0.3.0" }
```

This is how the entire `src/main.rs` looks like:

```rust
#![no_main]
charms_sdk::main!(my_app::app_contract);
```

The most important function in the app is `app_contract` in `src/lib.rs`:

```rust
use charms_sdk::data::{
    check, App, Data, Transaction, NFT, TOKEN,
};

pub fn app_contract(app: &App, tx: &Transaction, x: &Data, w: &Data) -> bool {
    match app.tag {
        NFT => {
            check!(nft_contract_satisfied(app, tx, x, w))
        }
        TOKEN => {
            check!(token_contract_satisfied(app, tx, x, w))
        }
        _ => todo!(),
    }
    true
}
```